1、矩阵的逆
<Matlab 科学计算->学习笔记>
在matlab 中,求方阵 A的逆矩阵可以使用函数inv(A)。
假设原线性方程组为:Ax = b;
则 x = A^-1 * b
例子:用求逆矩阵的方式来求解线性方程组
x + 2y + 3z = 5
x + 4y + 9z = -2
x + 8y + 27z = 6
解析:
A = [1 2 3; 1 4 9; 1 8 27];
b = [5;-2;6];
X = inv(A)*b
X =
23.0000
-14.5000
3.6667
也可以直接使用左除
A\b
ans =
23.0000
-14.5000
3.6667
2、方阵的行列式
在matlab 中可以使用函数det()来求方阵A对应的行列式。
学习->使用克拉默(Cramer)方法来求解线性方程组。
克拉默法则: 用右端向量替换系数矩阵A的某一列,然后用行列式的值/det(A)。
A = [2 2 -1 1; 4 3 -1 2; 8 5 -3 4; 3 3 -2 2]; % 系数矩阵
b = [4;6;12;6]; % 右端向量
D1 = [b,A(:,2:4)]; % 用b替换 系数矩阵A的第一列
D2 = [A(:,1),b,A(:,3:4)]; % 用b替换 系数矩阵A的第二列
D3 = [A(:,1:2),b,A(:,4)]; % 用b替换 系数矩阵A的第三列
D4 = [A(:,1:3),b]; % 用b替换 系数矩阵A的第四列
x1 = det(D1)/det(A) % 求解x1
x2 = det(D2)/det(A) % 求解x2
x3 = det(D3)/det(A) % 求解x3
x4 = det(D4)/det(A) % 求解x4
运行matlab 之后
x1 =
1.0000
x2 =
1
x3 =
-1
x4 =
-1.0000