# For loop with multiple variables

492 ビュー (過去 30 日間)
Vaishali Nagpure 2018 年 1 月 13 日

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 件のコメント表示非表示 2 件の古いコメント
Vaishali Nagpure 2018 年 1 月 13 日
Yes here those are constants what i am trying is for (int i = 1, j = 0; i <= limit; i++, j++)

サインインしてコメントする。

### 採用された回答

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

サインインしてコメントする。

### その他の回答 (1 件)

Rik 2018 年 1 月 13 日
If you mean a nested loop:
for st = 1:numel(pointst)
for ed = 1:numel(pointed)
end
end
##### 1 件のコメント表示非表示 なし
Vaishali Nagpure 2018 年 1 月 13 日
I want pointst first field and pointed first field at the same time in one iteration. Then in second iteration i want second field of pointst and pointed and so on ....

サインインしてコメントする。

### カテゴリ

Find more on Loops and Conditional Statements in Help Center and File Exchange

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by