Как удалить четыре вложенных цикла for для этого кода в MATLAB.Какие-либо предложения? - PullRequest
0 голосов
/ 12 октября 2018

Код работает очень медленно, когда размер матрицы (u, v) и (x, y) превышает (200 200).Здесь для простоты я рассмотрел оба (3 * 3)

x1=1;y1=1;u1=1;v1=1;

        for u = -1:1:1
             for v = -1:1:1

                for x = -1:1:1
                  for y = -1:1:1

                    value(x1,y1) = exp( ( -1i*(((u-x)^2) + (v-y)^2))
                    y1 = y1+1;
                  end
                   x1 = x1+1;
                   y1 = 1;
                end
            S_rows = sum(value,2); %Adding components of matrix "value"
            S_complete = sum(S_rows);
            E2(u1,v1) = S_complete; 
                 x1 = 1;
                 v1 = v1 + 1;
              end
                u1 = u1+1;
                v1 = 1;
         end
...