一.
解线性方程(Linear equation)就是找出是否存在一个唯一的矩阵x,使得a,b满足关系:
ax=b
MALAB中x=a\b 是方程 ax=b 的解, x=b/a是方程式xa=b的解。
通常线性方程多写成ax=b,“\”较多用,两者的关系为:
(b/a)’=(a’\b’)
系数矩阵a可能是m行n列的,有三种情况:
*方阵系统: (Square matrix)
*超定系统:(Overdetermind system)m>n
*欠定系统:(Underdetermind system) m<n
MATLAB对不同形式的参数矩阵,采用不同的运算法则来处理,它会自动检测参数矩阵,以区别下面几种形式:
*三角矩阵(Triangular Matrix)
*对称正定矩阵(symmetrical positive determined matrix)
*非奇异方阵(Nonsingular matrix)
*超定系统(Overdetermind system)
*欠定系统(Underdetermind system)
1.
最常见的是系数矩阵为方阵a,常数项b为列矢量, 其解x可写成x=a\b, x和b大小相同。
例1: 求方阵系统的根。
a=[11
b=[16
x=a\b
a =
b =
x =
例2:假如a,b为两个大小相同的矩阵,求方阵系统的根。
a=[4
b=[1
x=a\b
C=a*x
a =
b =
x =
C =
7.0000
若方阵a的各个行矢量线性相关(linear correlation),则称方阵a为奇异矩阵。这时线性方程将有无穷多组解。若方阵是奇异矩阵,则反斜线运算因子将发出警告信息。
2.超定系统(Overdetermind system)
t
0.0
0.3
0.8
1.1
1.6
2.2
这些数据显然有衰减指数趋势:
此方程意为y矢量可以由两个矢量逐步逼近而得,一个是单行的常数矢量,一个是由指数e-t项构成,两个参数c1和c2可用最小二乘法求得,它们表示实验数据与方程y(t)~c1+c2e-t之间距离的最小平方和。
例1:求上述数据的最小二乘解。将数据带入方程式y(t)~c1+c2e-t中,可得到含有两个未知数的6个等式,可写成6行2 列的矩阵e.
t=[0
y=[0.82
e=[ones(size(t))
c=e\y
e =
c =
0.3434
带入方程得:y(t)~0.4744+0.3434e-t
用此方程可绘制曲线:
t=[0
y=[0.82
t1=[0:0.1:2.5]’;
plot(t1,y1,’b’,t,y,’ro’)
如果一个矩阵的行矢量是线性相关的,则它的最小二乘解并不唯一,因此,a\b运算将给出警告,并产生含有最少元素的基解。
3 .欠定系统: (Underdetermind system)
欠定系统为线性相关系统,其解都不唯一,MATLAB会计算一组构成通解的基解,而方程的特解则用QR分解法决定。
两种解法:最少元素解a\b,最小范数解pinv(a)*b.
例: 用两种方法求解欠定系统。
对a和矢量b分别用a\b和pinv(a)*b求解:
a=[1
b=[10
p=a\b
q=pinv(a)*b
a =
b =
p =
q =




加载中…