求解MATLAB中的线性方程组

时间:2014-11-28 23:20:51

标签: matlab matrix linear-algebra equations

我有以下等式

T2+T4-3.615*T1=0;
T1+10+2*T5-5.752*T2=0;
T1+38+2*T5-4*T4=0;
83+T4+T2+10-4*T5=0;

我尝试过以下方法来查找T1,T2,T4,T5的值

syms T1 T3 T4 T2 T5 positive
T2+T4-3.615*T1=0;
T1+10+2*T5-5.752*T2=0;
T1+38+2*T5-4*T4=0;
83+T4+T2+10-4*T5=0;
sol=solve(T1,T2,T3,T4)

但它不起作用。

1 个答案:

答案 0 :(得分:5)

你有4个方程和4个未知数。这在MATLAB中使用等式AT = b非常容易解决,其中T = A\b

首先将所有常数值移至RHS。然后,将方程重新排序到下面的表格(但不要在MATLAB中写a11 = -3.615等等,只是为了使其可视化,以便它更容易在下面创建A矩阵。如果你有更多的方程式和未知数,那么在用MATLAB创建矩阵之前用笔和纸做这个可能是最简单的,因为它很容易出错,或忽略某个值。

a11*T1 + a12*T2 + a13*T3 + a14*T4 
a21*T1 + a22*T2 + a23*T3 + a24*T4
... and so on. 

使用值A创建矩阵a11, a12 ... all the way to a44。现在,您可以使用\这样找到T

A = [-3.615  1       1    0;
     1      -5.752   0    2;
     1       0      -4    2;
     0       1       1   -4];
b = [0; -10; -38; -83];
T = A\b

T =  
   11.8878
   14.7558
   28.2188
   31.4936