Fortran Coder

各位前辈,麻烦帮忙看一下关于求相关系数的程序如何优化

查看数: 11366 | 评论数: 4 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2015-1-8 21:21

正文摘要:

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}}} 各位大神 我想右边的公式来求左边的红框内的数和蓝框内的数的相 ...

回复

我是一头牛 发表于 2015-1-8 22:29:52
哎 牛人就是任性  晚安
楚香饭 发表于 2015-1-8 22:25:46
好看,唉,打字快就是任性
我是一头牛 发表于 2015-1-8 22:12:22
谢谢 弱弱地问一句 你为什么喜欢用空格 我感觉这样很费劲啊  比如amean= sum(a) / N
为什么不写成amean=sum(a)/N
楚香饭 发表于 2015-1-8 21:53:09
[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

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-12-23 12:13

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表