Большинство операций с Matlab позволяют вам вводить матрицу и возвращать матрицу. Вы должны быть в состоянии переписать CalculateStuff (), чтобы взять матрицу и вернуть матрицу. Как правило, это НАМНОГО быстрее, чем использование цикла для . Циклы в Matlab очень дорогие по времени.
Виды, на которые нужно обратить внимание, - это «точечные» версии обычных операций. Например вместо
y = z * x;
сделать
y = z .* x;
Первый будет выполнять умножение матриц, что, вероятно, не то, что вы хотите при векторизации кода. Второй выполняет поэлементное умножение z и x .
См. здесь и найдите «Операции с точками».