Я пытаюсь создать вектор-столбец в matlab на основе двух 64x64-двойных векторов и выполнить итерацию каждого элемента в векторе и применить уравнение для создания нового вектора, который затем будет применен. Вот мой кодПоддержка вектора Matlab
for i=1:4096,
vector1 = v1(:); %instead of copying the vector this created a 4096X1 double rather than 64X64 for some reason, same with vector2
vector2 = v1(:);
vector1(i) = vector1(i) + 0.05*vector2(i); %for each element in vector1 apply equation to update values.
end
v1(:) = vector1(:); % replace v1 with the new vector1 created on the equation applied
Насколько я вижу, что это должно работать, однако вместо того, чтобы создать 64 * 64 вектор создается вектор 1 * 4096, и я получаю ошибку рассогласования, поскольку векторы не совпадают ,
Да, я согласен, что ваш путь проще, однако это должно быть сделано с использованием итераций по какой-то причине. Значение v2 действительно записано здесь неправильно, так как для вектора он создает вектор 1 * 4096 по какой-либо причине вместо 64 * 64 – user1978826