- See for, for loop to repeat specified number of times
- Matlab doesn't honor the syntax you propose
For loop with multiple variables
197 ビュー (過去 30 日間)
古いコメントを表示
As in java we have "for (int i = 0, j = 1, k = 2; i < 5; i++)"
I would like to do as
for st = 1:numel(pointst) , ed = 1:numel(pointed)
What is the way i can do this kind of operation
3 件のコメント
Greg
2018 年 1 月 13 日
How are j and k not acting as constants here?
for (int i = 0, j = 1, k = 2; i < 5; i++)
採用された回答
Jan
2018 年 1 月 13 日
編集済み: Jan
2018 年 1 月 13 日
If you want this:
Java: for (int i = 1, j = 0; i <= limit; i++, j++)
in Matlab:
j = 0;
for i = 1:limit
j = j + 1;
...
end
Less nice alternatives:
index = [1:limit; ...
1:limit];
for k = 1:size(index, 2)
i = index(1, k);
j = index(2, k);
...
end
or
index = [1:limit; ...
1:limit];
for k = index
i = k(1);
j = k(2);
...
end
The last one might look strange. The FOR loop evaluates the given index vector along the 2nd dimension, such that the column vectors are assigned to k.
Maybe this is useful for you:
indexI = 1:limit;
indexJ = 1:limit; % Of course this is a test data only
for k = 1:numel(index1)
i = indexI(k);
j = indexJ(k);
...
end
0 件のコメント
その他の回答 (1 件)
Rik
2018 年 1 月 13 日
If you mean a nested loop:
for st = 1:numel(pointst)
for ed = 1:numel(pointed)
end
end
参考
カテゴリ
Help Center および File Exchange で Matrix Indexing についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!