Ответ 1

В Matlab вы можете напрямую перебирать элементы в списке. Это может быть полезно, если вам не нужно знать, к какому элементу вы сейчас работаете.

Таким образом, вы можете написать

for elm = list
%# do something with the element
end

Обратите внимание, что Matlab выполняет итерацию через столбцы list, поэтому, если list является вектором nx1, вы можете его транспонировать.

Ответ 2

for i=1:length(list)
  elm = list(i);
  //do something with elm.

Ответ 3

со многими функциями в Matlab, вам не нужно итерации вообще.

например, чтобы умножить на это положение в списке:

m = [1:numel(list)]';
elm = list.*m;

векторизованные алгоритмы в matlab в целом намного быстрее.

Ответ 4

Если вы просто хотите применить функцию к каждому элементу и поместить результаты в выходной массив, вы можете использовать arrayfun.

Как указывали другие, для большинства операций лучше избегать циклов в MATLAB и вместо вашего вектора вместо.