regu工具matlab l_曲线
我试图解决著名的斯坦福EE263问题之一,它给了我一个表示图像模糊的矩阵和一个表示模糊图像的y。为此,我一直在尝试使用Peter Hansen regu工具包,特别是他提供的l曲线算法。问题是,在计算机进行奇异值分解后,程序陷入了一行。 这是我的代码:regu工具matlab l_曲线,matlab,linear-algebra,Matlab,Linear Algebra,我试图解决著名的斯坦福EE263问题之一,它给了我一个表示图像模糊的矩阵和一个表示模糊图像的y。为此,我一直在尝试使用Peter Hansen regu工具包,特别是他提供的l曲线算法。问题是,在计算机进行奇异值分解后,程序陷入了一行。 这是我的代码: [U,S,V]=svds(A); [reg_corner,rho,eta,reg_param] = l_curve(U,S,y); 我使用SVD是因为A是以稀疏格式提供给我的。S是包含前6个奇异值的对角矩阵。我得到的错误是: Erro
[U,S,V]=svds(A);
[reg_corner,rho,eta,reg_param] = l_curve(U,S,y);
我使用SVD是因为A是以稀疏格式提供给我的。S是包含前6个奇异值的对角矩阵。我得到的错误是:
Error using ./
Matrix dimensions must agree.
Error in l_corner (line 64)
xi = beta./s;
l_corner.m对beta的定义如下:
if (nargin > 3)
[p,ps] = size(s); [m,n] = size(U);
beta = U'*b;
if (m>n), b0 = b - U*beta; end
if (ps==2)
s = s(p:-1:1,1)./s(p:-1:1,2);
beta = beta(p:-1:1);
end
xi = beta./s;
end
所以beta是一个6x1矩阵,不能被s除以,s是6x6。
我只是想澄清一下,我是一名工科硕士生(不是数学家),我正在修一门应用线性代数课程,教授使用了斯坦福大学的材料。任何关于如何使用REG tools package的见解都将不胜感激。s必须是奇异值的向量,而不是SVD中的对角矩阵。为此,您可以使用[U,s,V]=csvd(A);来自同一个正则化工具箱