用周期求解线性系统

时间:2019-05-07 15:15:30

标签: algorithm

给出线性系统 A x = b,并带有:

A = {{a11, a12, a13},
     {a21, a22, a23},
     {a31, a32, a33}};

b = {{b11},
     {b21},
     {b31}};

通过计算:

Inverse[A].b

很明显,获得了解决方案x

{{(a23 a32 b11 - a22 a33 b11 - a13 a32 b21 + a12 a33 b21 + a13 a22 b31 - a12 a23 b31)/(a13 a22 a31 - a12 a23 a31 - a13 a21 a32 + a11 a23 a32 + a12 a21 a33 - a11 a22 a33)}, 
{(a23 a31 b11 - a21 a33 b11 - a13 a31 b21 + a11 a33 b21 + a13 a21 b31 - a11 a23 b31)/(-a13 a22 a31 + a12 a23 a31 + a13 a21 a32 - a11 a23 a32 - a12 a21 a33 + a11 a22 a33)}, 
{(a22 a31 b11 - a21 a32 b11 - a12 a31 b21 + a11 a32 b21 + a12 a21 b31 - a11 a22 b31)/(a13 a22 a31 - a12 a23 a31 - a13 a21 a32 + a11 a23 a32 + a12 a21 a33 - a11 a22 a33)}}

我的目标是为周期编写一系列嵌套的 以获得该向量的3x1条目。

尽管进行了多次尝试,但我只能为个周期编写算法失败。有人可以帮我吗?谢谢!


编辑-撰写:

Ab = {{a11, a12, a13, b11}, 
      {a21, a22, a23, b21}, 
      {a31, a32, a33, b31}};

n = 3;

For[i = 1, i <= n, i++,
    For[j = 1, j <= n, j++,
        If[i != j,
           For[k = 1, k <= n + 1, k++,
               Ab[[j, k]] = Ab[[j, k]] - Ab[[i, k]] * Ab[[j, i]] / Ab[[i, i]]
              ]
          ]
       ]
   ]

For[i = 1, i <= n, i++, 
    Print[Ab[[i, n + 1]] / Ab[[i, i]]]
   ]

我得到:

b11/a11
b21/a22
b31/a33

这是非常不正确的。

0 个答案:

没有答案