Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
regu工具matlab l_曲线_Matlab_Linear Algebra - Fatal编程技术网

regu工具matlab 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

我试图解决著名的斯坦福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个奇异值的对角矩阵。我得到的错误是:

  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);来自同一个正则化工具箱