1个回答
展开全部
function relation(a,b,n)
!本程含则序计算两列向量的相关系数
!a,b分别是待计算的向量
!n是向量的长度,要求两列向量等长
implicit none
integer,intent(in)::n
real,intent(in)::a(n),b(n)
real::relation !返回的相关系数
integer::i,j !循环控制变量
real::sfenzi,sfenmu1,sfenmu2,s !加法器
real::amean,bmean !a,b向量谈旅的平均值
!计算平均值
s=0.
do i=1,n
s=s+a(i)
end do
amean=s/含老凳n
s=0.
do i=1,n
s=s+b(i)
end do
bmean=s/n
!计算相关系数
sfenzi=0.
sfenmu1=0.
sfenmu2=0.
do i=1,n
sfenzi=sfenzi+(a(i)-amean)*(b(i)-bmean)
sfenmu1=sfenmu1+(a(i)-amean)**2
sfenmu2=sfenmu2+(b(i)-bmean)**2
end do
relation=sfenzi/sqrt(sfenmu1*sfenmu2)
end function relation
!本程含则序计算两列向量的相关系数
!a,b分别是待计算的向量
!n是向量的长度,要求两列向量等长
implicit none
integer,intent(in)::n
real,intent(in)::a(n),b(n)
real::relation !返回的相关系数
integer::i,j !循环控制变量
real::sfenzi,sfenmu1,sfenmu2,s !加法器
real::amean,bmean !a,b向量谈旅的平均值
!计算平均值
s=0.
do i=1,n
s=s+a(i)
end do
amean=s/含老凳n
s=0.
do i=1,n
s=s+b(i)
end do
bmean=s/n
!计算相关系数
sfenzi=0.
sfenmu1=0.
sfenmu2=0.
do i=1,n
sfenzi=sfenzi+(a(i)-amean)*(b(i)-bmean)
sfenmu1=sfenmu1+(a(i)-amean)**2
sfenmu2=sfenmu2+(b(i)-bmean)**2
end do
relation=sfenzi/sqrt(sfenmu1*sfenmu2)
end function relation
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询