完整版Matlab学习系列16数值计算线代篇Word文档下载推荐.docx
《完整版Matlab学习系列16数值计算线代篇Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《完整版Matlab学习系列16数值计算线代篇Word文档下载推荐.docx(18页珍藏版)》请在冰豆网上搜索。
2
4
3
7
1
6
亠52
丄53
亠54
-55
15
5
17
求它的秩和一个最大线性无关组,并用来表示其它向量
代码:
A=[2-135;
4-313;
3-234;
4-11517;
7-6-70]'
;
%formatrat;
%使用分数表示
rref(A)
ans=
-3
-5
可见,向量组的秩是3,1,2,3是一个最大线性无关组;
并且
4213243,515253
注:
也可以用[R,s]=rref(A);
length(s)得到秩。
三、线性方程组的通解
null(A,‘r——返回齐次线性方程组Ax=0的基础解系,选项’r'
返回有理数解,否则按分数显示;
x0=inv(A)*b——若A-1存在,直接可以得到Ax=b的一个特解x0,
否则只能按求解理论求解;
subs(A,k,n),将矩阵或式A中的k用n代替
例4求下列方程组的通解:
2x14x2x34x416x52
3x16x22x36x423%7
3x16x24x36x419xs23
x12x25x32x419x543
A=[2,4,-1,4,16;
-3,-6,2,-6,-23;
3,6,-4,6,19;
1,2,5,2,19];
b=[-2;
7;
-23;
43];
[R,s]=rref([A,b])
[m,n]=size(A);
xO=zeros(n,1);
%将特解x0初始化为零向量
运行结果:
R=1
s=13
x0=3
20293
01028
00000
x=-2-2-9
100
00-2
010
001
例5已知齐次线性方程组
(1
2k)N
3x2
3x3
3x4
3x1
(2
3X3
3x13x23((11k)x4
求出其基础
问当k取何值时方程组有非零解?
在有非零解的情况下,解系。
symsk;
A=[1-2*k,3,3,3;
3,2-k,3,3;
3,3,2-k,3;
3,3,3,11-k];
K=solve(D)%解方程“X0”即要求的k值
fori=1:
Ak=double(subs(A,k,K(i)));
%用K(i)替换矩阵A中的k,得到的是符号矩阵,
%再用double函数转化为数值矩阵
x=null(Ak,'
r'
)
D=2*kA4-31*kA3+30*kA2+161*k+98
K=-1
7/2
14
x=-1-1
10
01
00
x=-0.5
x=0.2
0.4
四、基变换
设Rn中的两组基向量U和V(都是nxn矩阵),若向量w在以
U为基的坐标系内的坐标为Wu(nx1数组),在以V为基的坐标系内的坐标为wv(nxi数组),则在基准坐标系内的坐标应分别为U*wu和V*Wv,这两者应该相等,即
U*Wu=V*Wv
所谓基坐标的变换,就是已知Wu,求出Wv.将上式两边均左乘
V-1,得到
Wv=V
'
*U*Wu
故坐标变换矩阵为P:
=V-1
*U.
例6已知R4中的两组
寸基向量为
-1-1
-2
2-1
10,
11
求从U到V的坐标变换矩阵P.
U=[11-1-1;
2-12-1;
-1110;
0111];
V=[20-21;
1113;
0211;
1222];
P=inv(V)*U%从U到V的基变换矩阵
wu=[1234]'
wv=P*wu
%已知某向量在U坐标系下坐标为WU,求它在V坐标系下的坐标
P=01-11
1-11-1
wv=3
五、特征值与特征向量
变换可以用矩阵表示。
矩阵A的特征向量是指,经过矩阵A(左乘)变换后不发生方向改变的那些向量;
特征值是指在经过这些变换后特征向量的伸缩的倍数。
对于实对称矩阵来说,不同特征值对应的特征向量必定正交。
矩阵(变换)A的所有特征向量组成了该矩阵(变换)的一组基,可以理解为坐标系的坐标轴,可以把这个坐标系扭曲、拉伸、旋转,称为基变换。
例如,在主成分分析中,通过在拉伸最大的方向设置基,忽略一些小的量,可以极大的压缩数据而减小失真。
矩阵(变换)的所有特征向量作为空间的基之所以重要,是因为在这些方向上矩阵(变换)可以拉伸向量而不必扭曲和选择它,使得计算大为简单。
2.Matlab实现
orth(A)返回矩阵A的列向量组构成空间的标准正交基;
P=poly(A)返回矩阵A的特征多项式,P是行向量,元素为
多项式系数;
roots(P)――求多项式P的零点;
r=eig(A)――r为列向量,元素为矩阵A的特征值;
[V,D]=eig(A)――矩阵D为A的特征值(从小到大排列)所构成的对角矩阵,V的列向量为A的特征向量,与D中特征值一一对应
(VtAV=D,VT=V-1),D也是矩阵A的相似对角化矩阵;
[V,D]=schur(A)――矩阵D为对称矩阵A的特征值所构成的对角阵,V的列为A的单位特征向量,与D中特征值一一对应;
例7求下列矩阵的特征值和特征向量:
222019
216911
8461
0847
formatshortg
213;
112];
%特征多项式法
%P=poly(A);
%lamda1=roots(P)lamda2=eig(A)[V,D]=eig(A)inv(V)*A*V
-0.0000
V=0.6396
0.7071
-0.5774
0.6396
-0.7071
0.4264
0.5774
D=
5.0000
-1.0000
0.0000
例8(人口迁徙模型)设某大城市的总人口是固定的。
人口的分布则因居民在市区和郊区之间迁徙而变化。
每年有6%的市区居民搬到郊区去住,而有2%的郊区居民搬到市区。
假如开始时有30%的居民
住在市区,70%的居民住在郊区,问:
(1)10年后市区和郊区的居民人口比例是多少?
30年、50年后又如何?
(2)无限增加时间,该比例最终是否会趋于稳定?
问题分析:
该问题可以用矩阵乘法来描述。
(1)把人口变量用市区Xc和郊区Xs两个分量表示,一年以后,市
区人口为Xci=(1-0.06)Xco+O.O2xso,郊区人口Xsi=O.O6xco+(1-0.02)Xso,用矩阵乘法来表示:
对于
(2),借助矩阵A的特征值和特征向量,因为A作用在其特
征向量上只改变值大小(为其特征值的倍数)而不改变方向。
为此先求出A的特征值入,2及特征向量Vi,V2;
将X0用特征向量
Vi,V2作为坐标系表示出来(即做以[Vi,V2]为基坐标的基变换),
X0=o/什pV2
从而,
xkAkx0Ak(v1v2)Akv,Akv21kv1;
v2
令k趋于x,判断Xk是否存在极限。
x0=[0.3;
0.7];
A=[0.940.02;
0.060.98];
x仁A*x0
x10=AA10*x0
x50=AA50*x0
[V,D]=eig(A)
V(:
1)=V(:
1)./V(2,1);
2)=V(:
2)./V(1,2)%对V做初等变换化简
k=inv(V)*x0%求x0用特征向量作为坐标系的表示
%x0在原坐标系I中的表示为x0,
%则基坐标变换到在坐标系V的表示为x=P*x0=inv(V)*l*x0
symsn;
xn=k
(1)*D(1,1)An*V(:
1)+k
(2)*D(2,2)an*V(:
2);
%xn=-0.05*(0.92)an*v1+0.25*1An*v2
limit(xn,n,inf)
0.7040
x10=0.2717
0.7283
x50=0.2508
0.7492
V=-0.7071-0.3162
0.7071-0.9487
D=0.92000
01.0000
V=-1.00001.0000
1.00003.0000
k=-0.0500
0.2500
ans=1/4
3/4
最终得到:
无限增加时间k,市区和郊区人口之比将趋向一组常数
0.25/0.75.
六、二次型例9用正交变换法将下列二次型化为标准型(保持几何形状不变)
f(x1,x2,x3)
x122x223x324x1x24x2x3
A=[1-20;
-22-2;
0,-2,3];
%输入二次型的矩阵A
%或用[V,D]=schur(A),结果相同;
V为正交变换矩阵,即Y=VX
symsy1y2y3;
f=[y1,y2,y3]*D*[y1;
y2;
y3]
V二
-0.6667
0.3333
-0.3333
0.6667
D=-1.00000
02.00000
005.0000
f=-y1A2+2*y2八2+5*y3A2
XtAX二YtVtAVY二YtDY
七、用矩阵做图形变换
图形变换是指对图形进行平移、旋转、缩放、投影(透视)等变
换,其实质是改变图形的各个顶点的坐标。
图形变换可以通过对表示图形坐标的矩阵进行运算来实现,称为
矩阵变换法:
原图形、一变换后图形
一变换一
顶点坐标*占“二顶点坐标矩阵矩阵矩阵
也可以用变换矩阵左乘实现,上式两边转置即可,即:
btat=ct.
F面只介绍二维图形的矩阵变换,代码示例是类似的省略之
X1
y1
X2
y2*
M
Xn
ynn2
(1)缩放变换
a
X
y门
若a=d则为等比例缩放;
若
xy1
II
ab_x2y2
cd22MM
Xnynn2
1.基本变换
0axdy
d
a=1,则x方向不变;
若a=0,则图
形压缩为y轴上的线段例10已知三角形的三个顶点坐标,绘制三角形并进行缩放变换。
ABC=[44;
13;
31];
%三角形的三个顶点
E=[ABC(1,1),ABC(1,2)];
%为了让图形封闭,在末尾补上起始点
ABC=[ABC;
E]
subplot(1,2,1)
plot(ABC(:
1),ABC(:
2),'
%将各个顶点连线,绘制三角形
axis([0,5,0,5]);
%放缩变换
a=0.6;
d=1.2;
T=[a0;
0d];
%变换矩阵
ABC1=ABC*T;
%对原顶点做变换得到新的顶点
subplot(1,2,2)
plot(ABC1(:
1),ABC1(:
g'
%绘制变换后的三角形
(2)对称变换
关于原点的对称变换
关于x轴的对称变换
关于y轴的对称变换
关于直线y=x的对称变换
关于直线y=-x的对称变换
(3)错切变换(延x轴或y轴一个方向移动,另一个方向不变)
1延x轴方向错切
Xyc1xcyy
变换后,平行于X轴的直线变换后仍平行于x轴;
平行于y轴的直线
变换后,y=0的点不动(不动点),y工0的点沿x方向平移了cy,形成
与y轴夹角为B的直线,且tg§
=cy/y=c.
2延y轴方向错切
(4)绕坐标原点的旋转变换
变换矩阵为
cossinT
sincos
逆时针方向旋转时角度B取正值;
顺时针方向旋转时角度B取负值
2.平移变换
2X2变换矩阵是不能实现平移变换的,为此需要扩展一维
xy1010xlym1
lm1
补上一维的常数,称为齐次坐标表示法;
若常数=1,称为标
准齐次坐标表示法。
若坐标变换结果是非标准化齐次坐标表示,应将
其化为标准齐次坐标表示,方法是所有项都除以齐次项:
同除以s
xys
例11已知三角形的三个顶点坐标,绘制三角形并进行平移变换。
为了让图形圭寸闭,在末尾补上起始点
将各个顶点连线,绘制三角形
%
E]subplot(1,2,1)
%平移变换
ABC1=[ABC,ones(length(ABC),1)];
%加上一列1扩维,变成标准齐次坐标表示
1=1;
m=0.5;
T=[100;
010;
lm1];
%平移变换矩阵
ABC2=ABC1*T;
%做平移变换
plot(ABC2(:
1),ABC2(:
axis([0,5,0,5])
rrr
1r*
4.5
・・
・
--
3.5
2.5
-・
}、"
1.5
■\-
-
0.5
jU■II
ii1■1
012345
三维变换矩阵还具备更多的功能,总结如下:
3.组合变换
一些复杂的变换都可以分解为若干基本变换的组合,二维组合变
换矩阵T=TiXT2X-XTm,其中Ti是基本变换矩阵,具有不可交换性。
例如,
(1)绕坐标原点以外的任意一点P(xo,yo)旋转B角的旋转变换可分解为:
①平移变换一一将旋转中心P平移到坐标原点;
T1010
X0y。
②旋转变换绕坐标原点旋转B角;
cossin0
T2sincos0
3平移变换——使旋转中心P回到原来的位置
T3010
x0y01
于是,组合变换矩阵为:
T=T1*T2*T3.
(2)关于任意直线的对称变换
设直线方程为:
Ax+By+C=0(A半0,B半0),直线在x轴上的截
距为-C/A,在y轴上的截距为-C/B,直线与x轴的夹角a=arctg(A/B).
可分解为:
C/A01
②旋转变换——绕坐标原点旋转
-a角,使直线与X轴重合;
cos()
sin(
)0
T2sin()
cos(
3关于x轴做对称变换;
100
001
4旋转变换绕坐标原点旋转a角;
5平移变换——沿x方向平移-C/A,使直线回到原位置
C/A01
于是组合变换矩阵为:
T=T1*T2*T3*T4*T5.
(1)可见前面的二维变换矩阵都可以统一地在三维矩阵中实
现;
(2)以上介绍的二维图形的矩阵变换,类似地可以推广到三维空
间图形的矩阵变换