Я пытаюсь vectorise этого двойного цикла, который вычисляет координаты, так что я получилVectorising двойного цикла в MATLAB
A = zeros(100,100);
for x = 1:100
for y = 1:100
A(x,y) = x^2 + y %or other functions with x and y
end
end
Хотя пытаюсь vectorise его, используя что-то вроде meshgrid как некоторые примеры, которые я видел, дают мне массу ошибок, таких как «Размеры конкатенированных матриц несовместимы».
Есть ли способ венерить это? Большое спасибо за помощь.
Я на самом деле с помощью
A = zeros(31,31);
for x = 1:31
for y = 1:31
A(y,x) = f(1.5, (x-16)/10 + i*((y-16)/10), 1000);
end
end
где F (1,5, ...) некоторые другие функции я использую, чтобы вычислить точки А, будет выводить только номер.
Пытаясь что-то вроде
A = zeros(31,31);
[X,Y] = ndgrid(1:31,1:31);
A(Y,X) = f(1.5, (X-16)/10 + i*((Y-16)/10), 1000);
мне дает:
Ошибка с помощью horzcat Размеры матриц, сцеплены не согласуются.
Ошибка в F
Ошибка в строке 3: A (Y, X) = F (1.5, (Х-16)/10 + I * ((У-16)/10), 1000);
Показать код попытки и точные детали ошибки видели – Wain
Вы должны скажите нам, что это за 'func, f'. Не могли бы вы добавить его реализацию? – Divakar