个性化阅读
专注于IT技术分析

MATLAB线性代数

求解线性系统

线性代数方程是系统的方程

a1 x1 + a2 x2 + a3 x3 +⋯+ an x​​n = b

其中a为常数, x为未知数, b为常数。一个解决方案是一个满足方程的数字s1, s2和s3序列。

例子

4×1 + 5×2-2×3 = 16

这样的方程式中有三个未知数:x1, x2和x3。该方程的一种解决方案是x1 = 3, x2 = 4和x3 = 8, 因为4 * 3 + 5 * 4-2 * 8等于16。

线性代数方程组是以下形式的方程组:

a11 x1 + a12 x2 + a13 x3 +⋯+ a1n xn = b1

a21 x1 + a22 x2 + a23 x3 +⋯+ a2n xn = b2

a31 x1 + a32 x2 + a33 x3 +⋯+ a3n xn = b3

am1 x1 + am2 x2 + am3 x3 +⋯+ amn xn = bm

这称为m * n方程组;有m个方程式和n个未知数。

矩阵形式

由于采用了矩阵乘法的方法, 可以将这些方程式以矩阵形式定义为Ax = b, 其中A是系数的矩阵, x是未知数的列向量, b是常数为等式的右侧:

x = b

a11 a12 a13 … a1n x1 b1

a21 a22 a23 … a2n x2 b2

a31 a32 a33 … a3n x3 b3

……………………….. …………. ……..

am1 am2 am3 … amn xn bm

解集是方程组的所有可能解的集合(解方程的未知数的所有值集)。所有线性方程组均具有:

  • 没有解决方案
  • 一种解决方案
  • 无限多个解决方案

使用矩阵逆的解决方案

解决此方程组的简单方法可能是使用矩阵逆。

A-1 A = 1

我们可以将矩阵方程AX = B的两边乘以A-1得到

A-1 AX = A-1 B

Or

X = A-1 B

因此, 可以将解作为A的倒数与列向量b的乘积找到。

在MATLAB中, 有两种方法可以使用内置的inv函数和矩阵乘法, 也可以使用” \”运算符:

>> A = [3 4 1; -2 0 3; 1 2 4]	
A =
        3     4      1
      -2      0      3
       1      2      4	
>> b = [2 1 0]'	
     b =
          2
         1
         0  
 >> x = inv(A) * b
x =
       -1.1818
        1.5000
       -0.4545
>> A\b
ans =
      -1.1818
       1.5000
       -0.4545

解决2×2方程组

最简单的系统是2 x 2系统, 只有两个方程和两个未知数。对于这些系统, 对于矩阵的逆有一个简单的定义, 它使用矩阵的行列式D。

对于系数矩阵, A通常定义为

MATLAB线性代数

行列式D定义为a11 a22-a12 a21

MATLAB线性代数

例子

x1 + 3×2 = -2

2×1 + 4×2 = 1

这将以矩阵形式编写为

MATLAB线性代数

行列式D = 1 * 4 -3 * 2 = -2。

MATLAB线性代数

MATLAB具有内置函数det来查找矩阵的行列式。

>> A = [1 3; 2 4]
A =
         1      3
         2      4
>> b = [-2;1]
b =
        -2
         1
>> det(A)
ans =
          -2
>> inv(A)
ans =
         -2.0000     1.5000
          1.0000     -0.5000
>> x = inv(A) * b
x =
      5.5000
    -2.5000

赞(0)
未经允许不得转载:srcmini » MATLAB线性代数

评论 抢沙发

评论前必须登录!