收藏 分享(赏)

矩阵的奇异值分解(MATLAB自编)实验报告.pdf

上传人:精品资料 文档编号:10088251 上传时间:2019-10-08 格式:PDF 页数:4 大小:239.25KB
下载 相关 举报
矩阵的奇异值分解(MATLAB自编)实验报告.pdf_第1页
第1页 / 共4页
矩阵的奇异值分解(MATLAB自编)实验报告.pdf_第2页
第2页 / 共4页
矩阵的奇异值分解(MATLAB自编)实验报告.pdf_第3页
第3页 / 共4页
矩阵的奇异值分解(MATLAB自编)实验报告.pdf_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

1、2 矩阵的奇异值分解 2.1 原理 设 A Cmn, s1, s2, , sr 是 A 的非零奇异值,则存在 m 阶酉矩阵 U Cmn 及 n 阶酉矩阵 V, mn 矩阵 D, D = 1 0 0 00 0 00 0 00 0 0 0rss= 000使得 A=UDVH 这就是矩阵 A 的奇异值分解 . 2.2 算法 第一步:求出 AHA 的特征值 1 2 r 0= 1r = n ,确定非零奇异值 is = i , i=1,2 , r. 第二步:分别求出矩阵 AHA 的对应于特征值 i 的特征向量并将其单位正交化,得到标准正交向量组 1 , 2 , , n 令 V=( 1 , 2 , , n)

2、=( V1 , V2), V1=( 1 , 2 , , r), V2=( r+1 ,r+2 , , n) 第三步:若 U=( 1 , 2 , , r , r+1 , r+2 , , m) =( U1 , U2),其中 U1=( 1 , 2 , , r), U2=( r+1 , r+2 , , m), 则因( A1 , A2 , , Ar) =( s11 , s22 , , srr) 即有 U1=AV1 1 .其中 1 =11121rsss第四步:解方程组 AAHy = 0,对基础解系单位正交化可以求得 r+1,r+2, , m,令 U =( 1 , 2 , , r , r+1 , r+2 ,

3、, m) . 2.3 程序流程图 输 入 矩 阵 AAHA的 特 征 值 及 对 应 特 征向 量AHA的 特 征 值 由 大 到 小 排列 并 排 列 及 对 应 特 征 向 量单 位 化 得 V计 算 U1 ,U2计 算 D结 束2.4 MATLAB 程序 function U,D,V = SVDecom(A) m,n=size(A); U=zeros(m);V=zeros(n); r=rank(A); D=zeros(m,n); B,C=eig(A*A); x=diag(C); B=B.,x; B=sortrows(B,-(n+1); for i=1:r D(i,i)=sqrt(B(i,

4、n+1); end B=B(:,1:n); B=B.; V=qr(B); V1=V(:,1:r); U(:,1:r)=A*V1*(inv(D(1:r,1:r); U(:,r+1:m)=null(A*A); end 2.5 运行 与 数据 分析 以教材上的 A=1 0;0 1;1 0为例来 验证 上述求矩阵的奇异值分解程序 的正确性 。 在 matlab 运行结果如下 : A=1 0;0 1;1 0; U1,D1,V1 = SVDecom(A) U1 = 0.7071 0 0.7071 0 1.0000 0 0.7071 0 -0.7071 D1 = 1.4142 0 0 1.0000 0 0 V1 = 1 0 0 1 在 matlab 自带 求解矩阵奇异值分解 函数 : U, S, V = svd(A)其中 U 就是所求的 U 矩阵, S 是所求的对角阵, V 就是所求的酉矩阵V. 在 matlab 中运行 下述指令: A=1 0;0 1;1 0; U0,D0,V0 = svd(A) U0 = -0.7071 0 -0.7071 0 1.0000 0 -0.7071 0 0.7071 D0 = 1.4142 0 0 1.0000 0 0 V0 = -1 0 0 1 对比可见结果的正确性。

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

当前位置:首页 > 企业管理 > 管理学资料

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


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

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

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