Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/16.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
Matlab 时间复杂度(以大O为单位)_Matlab_Time_Time Complexity - Fatal编程技术网

Matlab 时间复杂度(以大O为单位)

Matlab 时间复杂度(以大O为单位),matlab,time,time-complexity,Matlab,Time,Time Complexity,我有一个对图像进行4级分解的代码。这些级别类似于将图像分解为4个级别的图像小波变换:近似部分和三个详细部分。我实现的代码使用广义SVD来进行分解。这是密码 function[Y,U] = MSVD1(X) %multiresolution SVD (MSVD) %input-> x: image (spatial domain) %outputs-> Y: one level MSVD decomposition of x

我有一个对图像进行4级分解的代码。这些级别类似于将图像分解为4个级别的图像小波变换:近似部分和三个详细部分。我实现的代码使用广义SVD来进行分解。这是密码

      function[Y,U] = MSVD1(X)
       %multiresolution SVD (MSVD)
        %input-> x: image (spatial domain)
        %outputs-> Y: one level MSVD decomposition of x
        %          U: the unitary matrix (U in SVD)
         [m,n] = size(X);
        m = m/2; n = n/2;
        A = zeros(4,m*n); 
        for j = 1:n
         for i = 1:m
           A(:,i + (j-1)*m) = reshape(X((i-1)*2+(1:2),(j-1)*2+(1:2)),4,1);
         end
        end
      [U,S] = svd(A);
       T = U'*A;
      Y.LL = reshape(T(1,:),m,n);
      Y.LH = reshape(T(2,:),m,n);
      Y.HL = reshape(T(3,:),m,n);
      Y.HH = reshape(T(4,:),m,n);
      end
现在,这其中涉及的基本操作是使用SVD。所以我的问题是,用大O符号表示的时间复杂度是否应该和矩阵的标准奇异值分解一样?如果不是,我们需要考虑哪些术语来确定图像输入大小的复杂性?重塑元素是否也增加了时间复杂性,还是仅仅是O1?
有人能帮忙吗?

首先,循环内恒定大小重塑的复杂性是O1。因此,for循环的复杂性为\Thetam*n。其次,svd的复杂度是Omaxm,n*minm,n,根据函数返回的数据,它可以是Omaxm,n^2。此外,根据@Daniel注释,代码末尾的最坏情况是重塑,它通常小于此值


因此,代码的复杂性为Omaxm,n^2。此外,由于循环,它是Omegam*n.

首先,循环内恒定大小重塑的复杂性为O1。因此,for循环的复杂性为\Thetam*n。其次,svd的复杂度是Omaxm,n*minm,n,根据函数返回的数据,它可以是Omaxm,n^2。此外,根据@Daniel注释,代码末尾的最坏情况是重塑,它通常小于此值


因此,代码的复杂性为Omaxm,n^2。此外,由于循环,它是Omegam*n.

一些关于重塑的信息一些关于重塑的信息不是Omaxm,n*minm,n==Om*n?@AnderBiguri是的,确实:不是Omaxm,n*minm,n==Om*n?@AnderBiguri是的,确实: