美文网首页
MATLAB求解线性方程组

MATLAB求解线性方程组

作者: f031539e4cd4 | 来源:发表于2017-09-15 11:24 被阅读561次

在求解线性方程组时,会遇到以下几种情形:定解方程组、不定方程组、超定方程组、奇异方程组。

一、首先以定解线性方程组为例:

在分析如上方程组时,需要知道,方程中有3个未知数,而方程也有3个,所以可以求出(x,y,z)值,转化为矩阵即为: AX = B,其中A为系数矩阵,B为右边值向量。而X即为未知数构成的向量,转化后即为:

>> A = [2,3,1;4,2,3;7,1,-1];

如上为系数矩阵;

>> B = [4;17;1];

如上为右边值矩阵;

利用矩阵除法:

>> X = A\B

求得结果如下图红色箭头所示:

x = 1.0000 ; y = -1.0000 ; z = 5.0000;

二、不定方程组求解

在不定方程组求解时,遇到的方程组常如下所示:

数学上分析可以知道,未知数多于方程式数目,所以解有无数个。但是,可以利用matlab求解一个特定的解(特定解),如下所示输入:

>> A = [4,5,1;1,2,4];

>> B = [3;15];

>> X = A\B

可以求得一个特解,如下所示:

三、超定方程组求解

数学分析上可以知道,当方程数目多于未知数数目时,可以知道该方程组无法求出准确解。如下方程所示:

在求解时,如下操作即可:

>> A = [4,5;1,2;3,1];

>> B = [3;15;12];

>> X = A\B

求解输出如下图所示,需要说明时,求得结果是以一最小二乘近似解。

四、在求解奇异方程组,可以发现多个方程之间有重复,如下示例:

在分析时,如上述求解方式:

>> A = [2,3;-4,-6];

>> B = [1;-2];

>> X = A\B

那么,可以看到matlab不能求出解,如下所示:

此时,可以做同解异构,如下所示:

>> A = [2,3;-4,-6;0,0];

>> B = [1;-2;0];

>> X = A\B

输出的一个特解如下所示:

相关文章

网友评论

      本文标题:MATLAB求解线性方程组

      本文链接:https://www.haomeiwen.com/subject/srjssxtx.html