找到图像奇异值分解不使用圣言命令

25日视图(30天)
umair
umair 2014年5月1日
编辑: 约翰D 'Errico 2021年9月4日
我的问题很简单但我新的计算分析。我的最终目标是使用奇异值分解实现降噪图像但此刻时间我试图理解奇异值分解的概念。
作为标题显示,我想将图像分解成它的组成矩阵,但我想避免使用圣言会命令我可以得到的概念实际上是怎么回事。
代码:
=双(rgb2gray (imread (“Lenna.png”)));a_tp = ';
Z2 = * a_tp;Z1 = a_tp *;
[U, U_val] = eig (Z1);
[V, V_val] = eig (Z2);
Sig = sqrt (U_val + V_val);
图(1)Img_new = imshow (((U *团体* V ')));
我认为U, V和σ是我组件作为U的特征向量是‘*和V的特征向量是一个*的和σ是相应的特征值,但这不是正确的…有一些概念上的错误,请帮助我
PS教程> > >这是参考 http://www.youtube.com/watch?v=BmuRJ5J-cwE
2的评论
santhosh kumar buddepu
santhosh kumar buddepu 2021年9月4日
只是工作的方阵,并不是所有的矩阵

登录置评。

答案(1)

约翰D 'Errico
约翰D 'Errico 2021年9月4日
编辑:约翰D 'Errico 2021年9月4日
太迟的回答提出的问题,但由于问题是评论要求更多的帮助,我会发布一个答案。
简单的答案是不用担心图片。因为问题是如何计算计算,有效地利用eig,开始与任何数组。
兰德(5,3)=
一个= 5×3
0.1243 0.0906 0.5962 0.2261 0.0861 0.6465 0.2251 0.3320 0.4505 0.4900 0.4923 0.2527 0.1966 0.9218 0.1907
所以只是一个小的随机矩阵。小,所以我们可以看到正在发生的事情很容易。
[U, V] =圣言(A)
U = 5×5
-0.3335 -0.5023 0.2846 -0.5175 -0.5364 -0.3816 -0.5577 0.0040 0.0260 0.7366 -0.4158 -0.1516 0.0580 0.8195 -0.3594 -0.4832 0.1739 -0.8272 -0.2013 -0.1071 -0.5804 0.6192 0.4810 -0.1392 0.1705
S = 5×3
0.2855 1.4231 0.7640 0 0 0 0 0 0 0 0 0 0 0 0
V = 3×3
-0.4021 -0.0206 -0.9154 -0.6844 0.6709 0.2855 -0.6082 -0.7413 0.2838
我们可以使用eig找到同样的解决方案吗?
(V1, D1) = eig (“*)
V1 = 3×3
0.9154 -0.0206 0.4021 -0.2855 0.6709 0.6844 -0.2838 -0.7413 0.6082
D1 = 3×3
0.0815 0 0 0 0 0 0 0.5837 2.0253
这应该比较对角元素的年代,但由于我们成立了一个“*,特征值奇异值的平方。哦,顺便说一下,eig并不担心订单。
√诊断接头(D1))
ans = 3×1
0.2855 0.7640 1.4231
所以现在的特征值和奇异值匹配。但是特征向量的*,V和对应的奇异向量?
V1的列和V本质上是相同的,但对于排序问题,哦,顺便说一下,你知道特征向量和奇异向量可以任意乘以1,仍然完全有效吗?所以他们的向量可以有一些迹象了。仍然一样一样的。
接下来,考虑一个*”。
(V2, D2) = eig (*)
V2 = 5×5
-0.4813 -0.5691 -0.2846 0.5023 0.3335 -0.0222 0.7368 -0.0040 0.5577 0.3816 0.8413 -0.3050 -0.0580 0.1516 0.4158 -0.1939 -0.1200 0.8272 -0.1739 0.4832 -0.1501 0.1610 -0.4810 -0.6192 0.5804
D2 = 5×5
-0.0000 0 0 0 0 0 0.0000 0.0815 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.5837 2.0253
这些是我们上面gound的奇异值的一样吗?
首先,注意到现在有五个特征向量,特征值。这是因为有更多的行比列,所以*是一个5 x5矩阵。
所以你现在需要了解线性代数。矩阵的秩是什么?等级3。如果用一个*,该产品矩阵不能有更高等级的条款,要么产品。结果将仍然有等级3。所以现在产品矩阵必须有两个零特征值。当然,非零奇异值的平方。
√诊断接头(D2))
ans =
0.0000 + 0.0000我0.0000 + 0.0000 0.2855 1.4231我0.7640 + 0.0000 + 0.0000 + 0.0000
零奇异值,我们发现通常只会大约为零,所以在eps的顺序。
再一次,当我们看V2的特征向量作为列,我们看到这三个向量对应的非零特征值可以任意翻转迹象。再一次,这是完全任意的和无关紧要。但零特征值的特征向量呢?为什么他们不一样的最后两列U ?
这真的需要一个理解线性代数。一些阅读将帮助,或者更好的是,在线性代数课程。
但是这两个零空间奇异向量的向量的仅仅是一对的零空间的列。
nullvecs = null (。)
nullvecs = 5×2
-0.5175 -0.5364 0.0260 0.7366 0.8195 -0.3594 -0.2013 -0.1071 -0.1392 0.1705
V2 (: 1:2)
ans = 5×2
-0.4813 -0.5691 -0.0222 0.7368 0.8413 -0.3050 -0.1939 -0.1200 -0.1501 0.1610
因为子空间是二维的,我们可以找到无穷多这两个向量的线性组合,跨度相同的子空间。eig(*)任意发现另外两个这样的向量。这样,我们可以找到完全的线性变换矩阵旋转的双向量到另一个。
nullvecs \ V2 (: 1:2)
ans = 2×2
0.9979 0.0654 -0.0654 0.9979
两组向量是一个不同(但同样有效)的方式来定义的列的零空间的基础。
如果你想把这个应用到一个图像,图像是一组数字,就像我一样。当然,这将是一个更大的数组比我简单的测试用例,但我所做的仍是同样有效的。
最后,小奇异值可能会有一些问题,因为当你形成一个*”和“*,你实际上是平方的事情。这可能会导致一些问题因为你只是在双精度运算工作。这意味着圣言会更能准确地表达那些小奇异值和对应的奇异向量,因为圣言不形式的产品矩阵。使用EIG不是你通常要计算计算,即使只出于这个原因。
2的评论
约翰D 'Errico
约翰D 'Errico 2021年9月4日
编辑:约翰D 'Errico 2021年9月4日
是可能的吗?是的。当然是。我写了圣言自己很久以前,尽管在APL, APL圣言。不,我不能详细(实际上我不会教你怎么做。圣言可以计算使用一系列户主旋转第一bi-diagonalize矩阵,然后使用的算法我跟进一系列吉文斯旋转杀死非对角元素。你可以找到它所描述的旧Linpack手册(伴随着伪代码)我记得。如果你真的需要它,那么你会需要写它。

登录置评。

类别

找到更多的在线性代数帮助中心文件交换

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!