运用matlab求解齐次线性方程组和非齐次线性方程组得通解
(2013-01-20 18:23:25)
标签:
it |
分类: matlab编程 |
**********************求齐次线性方程组得通解*****************************
在matlab中,函数null来求解零空间,即满足A*X=0的解空间,实际上是求出解空间的一组基
即 基础解系
用matlab建立m文件:
format rat
%指定有理式格式输出
A;
b;
r=rank(A);
bs=null(A,‘r’);
pretty(X)
********************求非齐次线性方程组的通解(A*X=b)********************
非齐次线性方程组需要先判断方程组是否有解,若有解,再去求通解。
步骤为:
第一步: 判断A*X=b是否有解。利用系数矩阵和增广矩阵的秩进行比较。
第二步:求A*X=b的一个特解。
第三步:求A*X=0的通解。
第四步:AX=b的通解为:A*X=0的通解加上AX=b的一个特解。
在matlab中建立M文件如下:
clear all
A;
b;
[m,n]=size(A);
R=rank(A);
B=[A b];
Rr=rank(B);
format rat
if R==Rr&R==n
X=A\b;
else if R==Rr&R==n
x=A\b;
C=null(A,'r')
else X='no solution!'
end
前一篇:运用MATLAB求解大型方程组
后一篇:2013年03月16日

加载中…