Как зациклить два вектора в MATLAB?
В питоне можно использоватьzip
зациклить несколько векторов илиenumerate
чтобы получить текущий индекс зацикленного вектора, как так
one = ['A', 'B', 'C']
two = [1, 2, 3]
for i, j in zip(one, two):
print i, j
for j, i in enumerate(one):
print i, two[j]
дает
>>>
A 1
B 2
C 3
A 1
B 2
C 3
В MATLAB это можно сделать
one = {'A' 'B' 'C'};
two = [1 2 3];
for i = 1:1:length(one)
printf('%s %i\n', one{i}, two(i));
endfor
j = 1;
for i = one
printf('%s %i\n', i{1}, two(j));
j = j + 1;
endfor
дающий
A 1
B 2
C 3
A 1
B 2
C 3
Так что один из этих двух вариантов - это обычный способ, как можно было бы сделать это в MATLAB, т.е. е. перебрать несколько векторов "параллельно" или есть другой, может быть, лучший способ?
Бонус:
two = [1 2 3];
two = [1, 2, 3];
Обе эти строки дают одинаковый вывод в верхней программе MATLAB. Какая разница?