回 帖 发 新 帖 刷新版面

主题:请各位帮个忙!

麻烦各位,高斯分解法和LU分解法求线性方程的解得C语言程序怎么写?

回复列表 (共1个回复)

沙发

高斯消去法的基本思想为将原系统转化为另一个等价的系统( 该系统与原系统有相同的解),但变换后的系统系数矩阵为上三角形矩阵。
具体步骤如下:
    1.  用 a11作为一个要素消去其它方程中 x1 的系数;
    2.  用同样的方法消去第三至第 n 个方程中 x2 的系数;

下面给出了高斯消元法的伪代码
Algorithm   BetterGaussElimination (A[1..n, 1..n],  b[1..n])
       for i  1 to n do A[i, n+1]  b[i]
       for i  1 to n-1 do
                 pivotrow  i
                 for j  i+1 to n do
                       if  |A[j, i]|> |A[pivotrow, i]|  pivotrow  j
                for   k  i  to n+1 do
                        swap(A[i, k], A[pivotrow, k])
                for  j  i+1 to n do
                        temp  A[j, i]/A[i, i]
                        for  k  i to  n+1 do  
                                  A[j, k]  A[j, k]-A[i, k]*temp 
LU分解法的方法是考虑下三角阵 L (其主对角线元素均为1. 其它位置的值为高斯消元法中各行所乘的倍数)和上三角阵 U (它是消元法的结果矩阵 ).  我们可以验证 LU=A 
事情紧急,麻烦各位帮个忙吧!谢谢!

我来回复

您尚未登录,请登录后再回复。点此登录或注册