Conditional Loop not executing properly
情報
この質問は閉じられています。 編集または回答するには再度開いてください。
古いコメントを表示
So I am trying to build a loop that will calculate a problem for me. The problem being that for a range of certain x values I need a coefficient to equal something and at the other x values, the coefficient will equal something else. My loop won't run at all if I add an else statement(basically a catch-all to return an error) and when I take it off it won't calculate the values for the first condition.
t=[0:1:6];
r=zeros(1,length(t));
r(1)=0;
for i=1:(length(t))
if t(i) < 2
b(i)=1;
elseif t(i) >= 2
b(i)=150;
x(i)=(b(i)*r(i))+20;
r(i+1)=r(i)+x(i);
fprintf('%.4f %.2f\n',t(i),r(i))
end
end
I don't know what I'm doing wrong
4 件のコメント
Me neither, it's running fine for me.
b =
1 1 150 150 150 150 150
I am wondering if one end is misplaced though
t=[0:1:6];
r=zeros(1,length(t));
r(1)=0;
for i=1:(length(t))
if t(i) < 2
b(i)=1;
elseif t(i) >= 2
b(i)=150;
end
x(i)=(b(i)*r(i))+20;
r(i+1)=r(i)+x(i);
fprintf('%.4f %.2f\n',t(i),r(i))
end
Walter Roberson
2018 年 10 月 7 日
You probably want the end after the assignment of 150. MATLAB does not use spacing to indicate control level
Star Strider
2018 年 10 月 7 日
Your code runs without error for me.
Please also post the version that does not run.
What result do you want from it? (Please provide an example.)
Gwen Plato
2018 年 10 月 7 日
回答 (0 件)
この質問は閉じられています。
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!