|
1.直接法或逆矩阵法
直接法解线性方程采用矩阵运算中的矩阵除法进行运算,即对于方程AX=B:
而逆矩阵法则是先求逆,然后进行求解,即:例10-1,使用直接法或逆矩阵法解线性方程组示例。
在命令行窗口输入:
- A=magic(3)
- b=[71011]'
- x1=A\b%直接法
- x2=inv(A)*b%逆矩阵法
复制代码 输出结果如下:- A = 8 1 6
- 3 5 7
- 4 9 2
- b = 7
- 10
- 11
- x1 = 0.2889
- 0.9556
- 0.6222
- x2 =0.2889
- 0.9556
- 0.6222
复制代码 2.LU分解法
LU分解法(又称Gauss消去法)将系数矩阵分解为下三角矩阵和上三角矩阵的乘积,即:
则A*X=b变成L*U*X=b,所以X=U\(L\b),这样可以大大提高运算速度。相关的函数包括LU分解函数lu。
例10-2,使用LU分解法解方程组示例。
在命令行窗口输入:
- A=magic(3);
- b=[7 10 11]';
- [L,U] = lu(A)
- x3=U\(L\b)
复制代码 输出结果如下:- L = 1.0000 0 0
- 0.3750 0.5441 1.0000
- 0.5000 1.0000 0
- U = 8.0000 1.0000 6.0000
- 0 8.5000 -1.0000
- 0 0 5.2941
- x3 =0.2889
- 0.9556
- 0.6222
复制代码 3.使用函数linsolve
该函数的简洁调用格式为:
其中,A为系数矩阵,B为方程右项常数向量或矩阵,X为求得的解。
例10-3,使用函数linsolve解方程组示例。
在命令行窗口输入:
- A=magic(3);
- b=[7 10 11]';
- x = linsolve(A,b)
复制代码 输出结果如下:
|
|