windows平台下fortran编程求解一元线性回归
1、关于codeblocks IDE的极速安装
请参考百度经验<<Windows下极速搭建fortran开发环境>>

2、源代码如下:
implicit none
integer::i,N
real*8::x(8),y(8)
real*8::sumX,sumXX
real*8::sumY,sumXY
real*8::a,b
real*8::tmp
x=[1,2,3,4,5,6,7,8]
y=[2,4,6,8,10,12,14,16]
!回归计算
sumX=0
sumY=0
sumXX=0
sumXY=0
N=size(x)
do i=1,N
sumX=sumX+x(i)
sumY=sumY+y(i)
sumXX=sumXX+x(i)**2
sumXY=sumXY+x(i)*y(i)
end do
a=(N*sumXY-sumX*sumY)/(N*sumXX-sumX**2)
b=sumY/N-a*sumX/N
!打印结果
print *, "*****************"
print *, a,b
print *, "please input x"
!输入x,求y
read *, tmp
print *, "result:",tmp*a+b
print *, "*****************"
end subroutine zuoye2
!=====================================
! 判断条件的使用
!=====================================
subroutine zuoye3
implicit none
real*8::t,y
print *, "please input t"
read *, t
if(t>=0)then
y=-5*t**2+10
else
y=5*t**2+10
end if
print *, y

3、编译、运行,结果如下:
