|
我在写多元线性回归方程~可是他怎么也算不对…哪位大神帮帮忙来帮小女子看看呀
我用的是高斯消元法求的逆矩阵
[Fortran] 纯文本查看 复制代码 01 | program multiple_linear_regression |
04 | real , allocatable :: x ( : , : ) , y ( : ) , xtrans ( : , : ) , xx ( : , : ) , aa ( : , : ) , b ( : ) |
05 | write ( * , * ) "请输入自变量的个数:" |
09 | allocate ( x ( num , n +1 ) ) |
10 | allocate ( xtrans ( n +1 , num ) ) |
11 | allocate ( xx ( num , num ) ) |
12 | allocate ( aa ( num , num ) ) |
16 | write ( * , * ) "请输入自变量X矩阵:" |
18 | read ( * , * ) ( x ( i , j ) , j = 2 , n +1 ) |
20 | write ( * , * ) "请输入因变量y的值:" |
27 | call nijuzhen ( xx , num , aa ) |
29 | b = matmul ( matmul ( aa , xtrans ) , y ) |
35 | subroutine nijuzhen ( a , n , aa ) |
38 | real :: ae ( n , n + n ) , a ( n , n ) , aa ( n , n ) |
47 | ae ( i , : ) = ae ( i , : ) - ae ( k -1 , : ) * ae ( i , k -1 ) / ae ( k -1 , k -1 ) |
58 | a ( i , : ) = a ( i , : ) - a ( i , j ) * a ( j , : ) |
64 | aa ( i , : ) = ae ( i , ( n +1 ) : ( n + n ) ) |
|
|