主题:[讨论]计算多次求平均值的问题
我在求一个矩阵的特征值,求一次有误差,想求多次求这个平均值。这是我设计的算法。调用10次矩阵,每次调用矩阵的元素值都可能会不同,所以求得的特征值也有所不同,设置一个二维数组eigen,用列来存放每次得到的特征值,比如第一次调用矩阵得到的特征值放在eigen第一列,第二次调用矩阵得到的特征值放在eigen第二列,等等。大家帮忙看下这样行不
因为特征值都按列排列,所以每次调用矩阵 eigen 就多一列
open(1,file='new.txt')
do nx=1,10 !调用次数
call hmatr(h, n,m) !调用矩阵
eigenvalue=eig(h,w=eigenvector) !每次调用以后都求矩阵特征值
do j=1,4*m*n
eigen(j,nx)=eigenvalue(j) !将本次特征值放在eigen的一列
end do
write(1,*) eigen(j,nx)
end do
!下面是求平均值的过程
do j=1,4*m*n
do nx=1,10
eigenvalue(j)=sum(eigen(j,nx))/10.0
end do
end do
因为特征值都按列排列,所以每次调用矩阵 eigen 就多一列
open(1,file='new.txt')
do nx=1,10 !调用次数
call hmatr(h, n,m) !调用矩阵
eigenvalue=eig(h,w=eigenvector) !每次调用以后都求矩阵特征值
do j=1,4*m*n
eigen(j,nx)=eigenvalue(j) !将本次特征值放在eigen的一列
end do
write(1,*) eigen(j,nx)
end do
!下面是求平均值的过程
do j=1,4*m*n
do nx=1,10
eigenvalue(j)=sum(eigen(j,nx))/10.0
end do
end do