Matlab笔记数值计算—线代篇016.docx

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Matlab笔记数值计算—线代篇016

16. 数值计算—线代篇一、行列式det(A)——矩阵A的行列式; inv(A)——矩阵A的逆;rank(A)——矩阵A的秩;B(: , i)=b——将向量b赋给矩阵B的第i行;[A, eye(5)]——在矩阵A右端,拼接5阶单位矩阵;[U,s]=rref(A)——对矩阵A作行变换,U返回A的最简行阶梯形矩阵,s为行向量存储U的各行首个非0元所在列号,length(s)即为A的秩;例1 用初等行变换法求矩阵的逆。代码:format short g % 省略小数位多余的0A=[1 2 3; 2 2 1; 3 4 3];B=rref([A,eye(3)])% 对矩阵[A,I]进行初等行变换,得到最简行阶梯矩阵Bif(rank(B(:,1:3))==3)% 判断B的前3列是否为单位阵,若是取出后3列,即A逆 A1=B(:,4:6)elsedisp(A不可逆);end运行结果:B =1 0 0 1 3 -20 1 0 -1.5 -3 2.50 0 1 1 1 -1A1 = 1 3 -2 -1.5 -3 2.51 1 -1例2解方程代码:syms x;A=[3 2 1 1;3 2 2-x^2 1;5 1 3 2;7-x^2 1 3 2];D=det(A) f=factor(D) % 对行列式D进行因式分解X=solve(D) % 求方程“D=0”的解运行结果:D =-3*(x^2 - 1)*(x^2 - 2) f =-3*(x - 1)*(x + 1)*(x^2 - 2) X = -1 1 2^(1/2)-2^(1/2)二、向量组的线性相关性例3 向量组求它的秩和一个最大线性无关组,并用来表示其它向量。代码:A=[2 -1 3 5;4 -3 1 3;3 -2 3 4; 4 -1 15 17;7 -6 -7 0 ];% format rat; % 使用分数表示rref(A)运行结果:ans = 350 014 -50 00 0 0可见,向量组的秩是3,是一个最大线性无关组;并且,注:也可以用[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求下列方程组的通解:代码:syms x;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);x0=zeros(n,1); % 将特解x0初始化为零向量r=length(s); % 矩阵A的秩赋给变量rx0(s,:)=R(1:r,end) %矩阵R的最后一列按基准元素的位置得到特解x0x=null(A,r) % 得到对应齐次方程组Ax=0的基础解系运行结果:R = 1202930010280000000 00 0 0 0s = 1 3x0 = 3 0 8 0 0x = -2 -2 -9 1 0 0 0 0 -2 0 1 0 0 0 1例5已知齐次线性方程组问当k取何值时方程组有非零解?在有非零解的情况下,求出其基础解系。代码:syms k;A=[1-2*k,3,3,3;3,2-k,3,3;3,3,2-k,3;3,3,3,11-k];D=det(A)K=solve(D) % 解方程“D=0”即要求的k值for i=1:4Ak=double(subs(A,k,K(i)));% 用K(i)替换矩阵A中的k,得到的是符号矩阵,% 再用double函数转化为数值矩阵x=null(Ak,r) end运行结果:D =2*k^4 - 31*k^3 + 30*k^2 + 161*k + 98 K = -1-17/214 x = -1 -1 1 0 0 1 0 0x = -1 -1 1 0 0 1 0 0x = -0.5 -1 -1 1x = 0.2 0.4 0.4 1四、基变换设Rn中的两组基向量U和V(都是n×n矩阵),若向量w在以U为基的坐标系内的坐标为wu(n×1数组),在以V为基的坐标系内的坐标为wv(n×1数组),则在基准坐标系内的坐标应分别为U*wu和V*wv,这两者应该相等,即U

文档评论(0)

kaiss + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档