收藏 分享(赏)

数学建模教材34附录二 Matlab在线性代数中的应用.pdf

上传人:eco 文档编号:4395193 上传时间:2018-12-27 格式:PDF 页数:7 大小:101.63KB
下载 相关 举报
数学建模教材34附录二  Matlab在线性代数中的应用.pdf_第1页
第1页 / 共7页
数学建模教材34附录二  Matlab在线性代数中的应用.pdf_第2页
第2页 / 共7页
数学建模教材34附录二  Matlab在线性代数中的应用.pdf_第3页
第3页 / 共7页
数学建模教材34附录二  Matlab在线性代数中的应用.pdf_第4页
第4页 / 共7页
数学建模教材34附录二  Matlab在线性代数中的应用.pdf_第5页
第5页 / 共7页
点击查看更多>>
资源描述

1、 -813- 附录二 Matlab 在线性代数中的应用 1 向量组的线性相关性 求列向量组 A 的一个最大线性无关组可用命令 rref(A)将 A 化成行最简形,其中单位向量对应的列向量即为最大线性无关组所含向量, 其它列向量的坐标即为其对应向量用最大线性无关组线性表示的系数。 例 1 求下列矩阵列向量组的一个最大无关组。 =43333320126624220121A 解 编写 M 文件 ex1.m 如下: format rat a=1,-2,-1,0,2;-2,4,2,6,-6;2,-1,0,2,3;3,3,3,3,4; b=rref(a) 求得 b = 1 0 1/3 0 16/3 0 1

2、 2/3 0 -1/9 0 0 0 1 -1/3 0 0 0 0 0 记矩阵 A的五个列向量依次为1 、2 、3 、4 、5 ,则1 、2 、4 是列向量组的一个最大无关组。且有 2133231 += ,42153191316 = . 例2 设=221212122,321aaaA ,=243041,21bbB , 验证321, aaa 是3R 的一个基,并把21,bb 用这个基线性表示。 解 编写M文件 ex2.m如下: format rat a=2,2,-1;2,-1,2;-1,2,2;b=1,4;0,3;-4,2; c=rref(a,b) 求得 c= 1 0 0 2/3 4/3 0 1 0

3、 -2/3 1 0 0 1 -1 2/3 说明321, aaa 是3R 的一个基,且有32113232aaab = ,32123234aaab += 。 2 齐次线性方程组 在 Matlab 中,函数 null 用来求解零空间,即满足 0=Ax 的解空间,实际上是求-814- 出解空间的一组基(基础解系) 。 格式: z=null(A) %z 的列向量为方程组的正交规范基,满足 EzzT= 。 z=null(A,r) %z 的列向量是方程 0=Ax 的有理基。 例3 求方程组的通解 =+=+0340222022432143214321xxxxxxxxxxxx解 编写程序如下: format r

4、at a=1,2,2,1;2,1,-2,-2;1,-1,-4,-3 b=null(a,r) %求有理基 syms k1 k2 x=k1*b(:,1)+k2*b(:,2) %写出方程组的通解 求得基础解系为 T)0,1,2,2( ,T)1,0,3/4,3/5( 通解为TTkk )1,0,3/4,3/5()0,1,2,2(21+ , Rkk 21, 。 3 非齐次线性方程组 Matlab 中解非齐次线性方程组可以使用 “ ” 。 虽然表面上只是一个简简单单的符号,而它的内部却包含许许多多的自适应算法,如对超定方程用最小二乘法,对欠定方程它将给出范数最小的一个解,解三对角阵方程组时用追赶法等。 另外

5、求解欠定方程组可以使用求矩阵 A 的行最简形命令 rref(A),求出所有的基础解系。 例 4 求超定方程组 =+=+=+7262353114221212121xxxxxxxx解 编写程序如下: a=2,4;3,-5;1,2;2,1; b=11;3;6;7; solution=ab 求得最小二乘解为Tx )2418.1,0403.3(= 。 上面解超定方程组的“ ”可以用伪逆命令 pinv 代替,且 pinv 的使用范围比“ ”更加广泛, pinv 也给出最小二乘解或最小范数解。 例 5 用最小二乘解法解方程组 -815- =+=+=+=+120213213213121xxxxxxxxxx解

6、编写程序如下: format rat a=1,1,0;1,0,1;1,1,1;1,2,-1; b=1;2;0;-1; x1=ab %这里和 pinv 是等价的 x2=pinv(a)*b 求得最小二乘解为 6171=x ,6132=x ,643=x 。 例 6 求解方程组 =+=+=+2/12130432143214321xxxxxxxxxxxx解 编写程序如下: format rat a=1,-1,-1,1,0;1,-1,1,-3,1;1,-1,-2,3,-1/2; b=rref(a) 求得: b= 1 -1 0 -1 1/2 0 0 1 -2 1/2 0 0 0 0 0 故方程组有解,并有

7、+=+=2122143421xxxxx因而方程组的通解为 +=02/102/112010011214321kkxxxx求解非齐次线性方程组需要先判断方程组是否有解,若有解,再去求通解。因此,步骤为: 第一步:判断 bAx = 是否有解,若有解则进行第二步; 第二步:求 bAx = 的一个特解; 第三步:求 0=Ax 的通解; -816- 第四步:写出 bAx = 的通解。 例 7 求解下列方程组 =+=+=+067452296385243214324214321xxxxxxxxxxxxxx解 编写程序如下: clc,clear format rat a=2,1,-5,1;1,-3,0,-6;0

8、,2,-1,2;1,4,-7,6; b=8;9;-5;0; R_a=rank(a),R_B=rank(a,b) n=size(a,2) if R_a=R_B 3,-1,-3,4;1,5,-9,-8; b=1;4;0; R_a=rank(a),R_B=rank(a,b) n=size(a,2) if R_a=R_B 1,1+k,1;1,1,1+k; D=det(a); %求系数矩阵的行列式 y=factor(D) %系数矩阵的行列式进行因式分解 root=solve(y) b=0;3;k; AB=a,b; m=length(root); for n=1:m fprintf(k=),disp(ro

9、ot(n) fprintf(行最简型为n) sn=rref(subs(AB,root(n); disp(sn) %显示细胞数组的元素 if rank(subs(a,root(n)=rank(subs(AB,root(n) fprintf(方程组无解n); else fprintf(方程组有无穷多解n); end fprintf(*n) end 求得当 3 且 0 时,方程组有唯一解;当 3= 时,方程组有无穷多解;当 0= 时,方程组无解。 4 相似矩阵及二次型 有时我们需要精确的特征值和特征向量,就须利用 Matlab的符号运算功能。 在 Matlab 中创建符号矩阵和创建数值矩阵的形式很相

10、似,只不过要用到符号定义-818- 函数 sym。下面介绍使用此函数创建符号矩阵的几种形式。 3.1 使用 sym 函数直接创建符号矩阵 此方法和直接创建数值矩阵的方法几乎完全相同。矩阵元素可以是符号表达式,各符号表达式的长度可以不同,矩阵元素之间可用空格或逗号分隔。 例如: x=sym(a+sin(d),b;1/c,d); y=det(x) 求得 y=(d*c*a+d*c*sin(d)-b)/c 3.2 将数值矩阵转化为符号矩阵 在 Matlab 中,数值矩阵不能直接参与符号运算,必须先转化为符号矩阵。 例如: a=2/3,sqrt(2);3,1 a= 0.6667 1.4142 3.000

11、0 1.0000 b=sym(a) b= 2/3, sqrt(2) 3, 1 3.3 符号矩阵的索引和修改 Matlab 的符号矩阵索引和修改同数值矩阵的索引和修改完全相同。 例如:对上例中的矩阵 b 进行修改 b(2,2)=log(9) 3.4 举例 例 10 求一个正交变换 Pyx = ,把二次型 434232413121222222 xxxxxxxxxxxxf += 化为标准形。 解:二次型的矩阵为 =0111101111011110A 由 A=0,1,1,-1;1,0,-1,1;1,-1,0,1;-1,1,1,0; P,D=eig(A) 求得 P= 0.7887 0.2113 0.50

12、00 -0.2887 0.2113 0.7887 -0.5000 0.2887 0.5774 -0.5774 -0.5000 0.2887 0 0 0.5000 0.8660 D= 1.0000 0 0 0 0 1.0000 0 0 0 0 -3.0000 0 0 0 0 1.0000 P 就是所求的正交矩阵,使得 PTAP=D,令 =x P y ,其中 Txxx41L= ,-819- Tyyy41L= ,化简后的二次型为242322213 yyyyg += 。 上面求得的正交矩阵 P是数值解,下面我们求正交矩阵的精确解。 由 a=sym(0,1,1,-1;1,0,-1,1;1,-1,0,1;

13、-1,1,1,0); v,d=eig(a) 求得 v= 1, -1, 1, 1 d= 1, 0, 0, 0 1, 0, 0, -1 0, 1, 0, 0 0, 0, 1, -1 0, 0, 1, 0 0, 1, 0, 1 0, 0, 0, -3 即求得矩阵 A的特征值为 1、1、1、3,对应的特征向量分别是矩阵 v 的第1、2、3、4 列。再把对应于特征值 1 的 3 个特征向量正交化、单位化,我们就容易求出正交矩阵 P 。 习题 1求解矩阵方程 =234311111012112X 2求下列向量组的秩,并求一个最大无关组。 )3,1,2,1(1=Ta , )6,5,1,4(2=Ta , )7,4,3,1(3=Ta 。 3已知 =420021A ,=201b 求 bAx = 的最小范数解。 4 求一个正交变换 Pyx = , 把二次型322322214332 xxxxxf += 变换为标准形。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 网络科技 > UML理论/建模

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报