• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

matlab特征值分解和奇异值分解

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

特征值分解

函数 eig

格式 d = eig(A)         %求矩阵A的特征值d,以向量形式存放d。

d = eig(A,B)       %A、B为方阵,求广义特征值d,以向量形式存放d。

[V,D] = eig(A)      %计算A的特征值对角阵D和特征向量V,使AV=VD成立。

[V,D] = eig(A,\'nobalance\')   %当矩阵A中有与截断误差数量级相差不远的值时,该指令可能更精确。\'nobalance\'起误差调节作用。

[V,D] = eig(A,B)    %计算广义特征值向量阵V和广义特征值阵D,满足AV=BVD。

[V,D] = eig(A,B,flag)   % 由flag指定算法计算特征值D和特征向量V,flag的可能值为:\'chol\' 表示对B使用Cholesky分解算法,这里A为对称Hermitian矩阵,B为正定阵。\'qz\' 表示使用QZ算法,这里A、B为非对称或非Hermitian矩阵。

说明 一般特征值问题是求解方程: 解的问题。广义特征值问题是求方程: 解的问题。


奇异值分解

函数 svd

格式 s = svd (X)          %返回矩阵X的奇异值向量

[U,S,V] = svd (X)   %返回一个与X同大小的对角矩阵S,两个酉矩阵U和V,且满足= U*S*V\'。若A为m×n阵,则U为m×m阵,V为n×n阵。奇异值在S的对角线上,非负且按降序排列。

[U,S,V] = svd (X,0)   %得到一个“有效大小”的分解,只计算出矩阵U的前n列,矩阵S的大小为n×n。

 

奇异值分解压缩图像

clear all;
close all;
clc;

a=imread(\'C:\Users\ranji\Desktop\rgb_image.jpg\');

imshow(mat2gray(a))
[m n]=size(a);
a=double(a);
%r=rank(a);
[s v d]=svd(a(:,:,1)); %取一个分量

%re=s*v*d\';
re=s(:,:)*v(:,1:1)*d(:,1:1)\';
figure;
imshow(mat2gray(re));
imwrite(mat2gray(re),\'C:\Users\ranji\Desktop\1.jpg\')

 

re1=s(:,:)*v(:,1:20)*d(:,1:20)\';
figure;
imshow(mat2gray(re));
imwrite(mat2gray(re),\'C:\Users\ranji\Desktop\2.jpg\')


re=s(:,:)*v(:,1:80)*d(:,1:80)\';
figure;
imshow(mat2gray(re));
imwrite(mat2gray(re),\'C:\Users\ranji\Desktop\3.jpg\')

 

re=s(:,:)*v(:,1:150)*d(:,1:150)\';
figure;
imshow(mat2gray(re));
imwrite(mat2gray(re),\'C:\Users\ranji\Desktop\4.jpg\')
不同特征值进行重构的效果。。。

 

最后说一些奇异值分解的应用:

1.图像压缩,正如上面的。

2.噪声滤波。

3.模式识别。因为svd就是提取主要的成分嘛。

4.生物,物理,经济方面的一些统计模型的处理。

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
数据质量、特征分析及一些MATLAB函数发布时间:2022-07-18
下一篇:
主成分分析(PCA)算法介绍及matlab实现案例发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap