Re: [问题] 有没有二维数据的回归直线的斜率的函数

楼主: yhliu (老怪物)   2022-05-20 09:37:44
※ 引述《BanPeeBan (踢屁屁)》之铭言:
: 手上有二维(x,y)的数据
: 想求回归方程式(主要是斜率)
: 请问有没有函数可以直接使用呢?
: 估狗都只找到高中数学的推导理论QQ
: 谢谢大家
subroutine linereg(n,x,y,a,b)
implicit none
integer (kind=4), intent(in) :: n ! 4 bytes integer
real (kind=8), intent(in) :: x(n), y(n) ! 8 bytes real
real (kind=8), intent(out) :: a, b
real (kind=8) :: fn, xbar, ybar, sxx, sxy
fn = n
xbar = sum(x)/fn
ybar = sum(y)/fn
sxx = sum(x*x)/fn - xbar**2
sxy = sum(x*y)/fn - xbar*ybar
b = sxy/sxx
a = ybar-b*xbar
return
end subroutine linereg
program main
implicit none
integer (kind=4), parameter :: n=10
real (kind=8) :: x(n), y(n), a, b
! 主程式 dimension 宣告必须是常数, 或者用 allocatable.
integer :: i
do i=1,n
print*, '请输入第 ',i,' 对资料:'
read(*,*) x(i),y(i)
end do
call linereg(n,x,y,a,b)
write(*,*) '回归直线函数:', a,' +',b,'x'
stop
end
作者: qlman (Qlman)   2022-06-02 06:16:00
哈…超强

Links booklink

Contact Us: admin [ a t ] ucptt.com