For loop ranging from negative to positive integers?

6 ビュー (過去 30 日間)
Austen Thomas
Austen Thomas 2018 年 1 月 19 日
回答済み: Star Strider 2018 年 1 月 19 日
For the code that is attached i need to run the code for values ranging from -12 to 20

回答 (2 件)

Adam
Adam 2018 年 1 月 19 日
Just create an array of e.g.
inputVals = -12:20;
Then use indices in your loop:
for i = 1:numel( inputVals )
AOA(i) = inputVals( i );
CL(i) = a*(AOA(i) - alp0);
fprintf(fid,'%8.4f %8.4f\n',AOA(i),CL(i));
end
Also
doc zeros
gives details on how to create arrays of zeros. You cannot pass negative numbers to this as its inputs are sizes and a negative size makes no sense.

Star Strider
Star Strider 2018 年 1 月 19 日
MATLAB indices must be integers greater than zero (or logical values).
Create your current ‘i’ vector to ‘iv’ (for example), then reference it in your code.
This works:
iv = -12:1:20;
AOA = zeros(size(iv));
CL = zeros(size(iv));
for i = 1:numel(iv)
AOA(i) = iv(i);
CL(i) = a*(AOA(i) - alp0);
fprintf(fid,'%8.4f %8.4f\n',AOA(i),CL(i));
end

カテゴリ

Help Center および File ExchangeLoops and Conditional Statements についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by