How to define both integer and decimal increment in one for loop?
古いコメントを表示
Hi all,
I would like to define one for loop that goes from 0 to 1 with an increment of 0.1 and then goes from 1 to 30 by an increment of 2, i.e., combination of the following two loops. Is it possible? If so, how?
for n = 1:2:30
f(round((n-1)/2+1)) = ....
end
z = 0: 0.1: 1;
for n = 1: length(z)
f(n) = ..
end
Thanks in advance
採用された回答
その他の回答 (1 件)
millercommamatt
2021 年 6 月 23 日
I'm not clear on what you're looking for. Do you want something like this:
span1 = 0:0.1:1;
span2 = 3:2:30;
span = [span1 span2];
for ii = span
% do something with ii...
end
7 件のコメント
Susan
2021 年 6 月 23 日
millercommamatt
2021 年 6 月 23 日
Do you want to do something like:
span1 = 0:0.1:1;
span2 = 3:2:30;
span = [span1 span2];
output = NaN(length(span),1);
for ii = 1:length(span)
output(ii) = some_function(span(ii));
end
Image Analyst
2021 年 6 月 23 日
編集済み: Image Analyst
2021 年 6 月 23 日
No. output(ii) will throw an error for fractional ii values.
millercommamatt
2021 年 6 月 24 日
What are you on about? ii will never be a fractional value.
Steven Lord
2021 年 6 月 24 日
@Matthew I suspect Image Analyst was replying to Susan's message not yours. The comment "do something with ii..." suggests to me (and I suspect to Image Analyst as well) that Susan wanted output(ii).
Image Analyst
2021 年 6 月 24 日
I was responding to Susan and just said No, then I went to MATLAB to develop code that works. Then I came back here to further explain why it wouldn't work and edited my comment but then I didn't notice miller's comment since it was posted while I was working on the code in MATLAB, and I mistakenly copied the loop from miller's comment instead of Susan's (not noticing that millers was a new comment). Sorry for the misunderstanding, that sometimes happens when people are posting at the same time. miller's code snippet #2 will also work for Susan.
カテゴリ
ヘルプ センター および File Exchange で Loops and Conditional Statements についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!