r=\frac{\sum_{i=1}^{n}({x}_{i}-\bar{x})({y}_{i}-\bar{y})}{\sqrt{\sum_{i=1}^{n}({x}_{i}-\bar{x})^{2}*\sum_{i=1}^{n}({y}_{i}-\bar{y})^{2}}}
各位大神 我想右边的公式来求左边的红框内的数和蓝框内的数的相关系数
外面是我写的程序 想麻烦大神们给看看 有哪些地方需要改进(也就是优化该程序) 谢谢
程序运行是没有问题的 ,我只是想看看大家是如何优化这个程序的,看看熟手是如何来写程序的
[Fortran] 纯文本查看 复制代码 program main
implicit none
integer::i,c(3,4),a_1(3,2),a(6),b_1(3,2),b(6)
real amean,bmean,sfenzi,sfenmu_1,sfenmu_2,coefficient
open(12,file=1.txt')
read(12,*)c
a_1=c(:,1:2)
b_1=c(:,3:4)
a=reshape(a_1,(/6/))
b=reshape(b_1,(/6/))
amean=real(sum(a))/real(size(a))
bmean=real(sum(b))/real(size(b))
write(*,*)"a=",a
write(*,*)"b=",b
write(*,*)"amean=",amean
write(*,*)"bmean=",bmean
sfenzi=0.0
sfenmu_1=0.0
sfenmu_2=0.0
do i=1,size(a)
sfenzi=sfenzi+(real(a(i))-amean)*(real(b(i))-bmean)
sfenmu_1=sfenmu_1+(real(a(i))-amean)**2
sfenmu_2=sfenmu_2+(real(b(i))-bmean)**2
end do
coefficient=sfenzi/sqrt(sfenmu_1*sfenmu_2)
write(*,*)"coefficient=",coefficient
stop
end program
|