您的位置:首页 > 编程语言 > MATLAB

Matlab - 线性方程组求解

2016-11-20 21:41 369 查看
常用函数:
det 计算矩阵的行列式的值
inv 求矩阵的逆阵
rank 求矩阵的秩
[V D]=eig(A) 求矩阵A的特征值和特征向量
poly 求矩阵的特征多项式
rref 用初等变换将矩阵化成行阶梯形
null(A,’r’) 给出齐次线性方程组Ax=0 的基础解系
fliplr 矩阵左右翻转
flipud 矩阵上下翻转
trace 求矩阵的迹
diag 取得矩阵对角线元素

例子:
1、矩阵函数的应用
A=[3 -4 0; -1 5 2; 4 1 -6]
det (A) %求矩阵的行列式的值
rank (A) %求矩阵的秩
inv (A) %求逆矩阵

2、求解线性方程组Ax=B
A=[3 -4 0; -1 5 2; 4 1 -6];
B=[5;5;16];
解法1 利用矩阵除法: X=A\B
解法2 利用求逆矩阵函数 inv:X1=inv(A)*B
比较:解法1比解法2更简便,
解法1 的算法优于解法2 ,
解法1可用于一般矩阵,而解法2只能用于非奇异的方阵
因此,只需运用解法1 .

3 求线性方程组的通解

3.1 利用除法\和null函数
A=[1 1 -1 -1;2 -5 3 2; 7 -7 3 1];
B=[5;-4;7];
format rat
x1=A\B %求得非齐次方程组Ax=B的一个特解x1
Y=null(A,'r') %求得齐次方程组Ax=0 的基础解系Y
输出结果:
x1 =

3
2
0
0

Y =

2/7 3/7
5/7 4/7
1 0
0 1
则方程组Ax=B的通解为: x=x1+k1*Y(:,1)+k2*Y(:,2)

3.2 利用rref函数
format rat
A=[1 1 -1 -1;2 -5 3 2;7 -7 3 1];
B=[5; -4; 7];
%用初等行变换将增广矩阵 [A B] 化成最简行阶梯形T
T=rref([A B])
输出结果:
T =

1 0 -2/7 -3/7 3
0 1 -5/7 -4/7 2
0 0 0 0 0
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: