An Options pay-off question

6 ビュー (過去 30 日間)
Pallav Mishra
Pallav Mishra 2013 年 2 月 11 日
I am trying to create a scenario where x changes from 1 to 5 with an interval of 0.1. If x<1.5, y =1.5; if 1.5<=x<3; y=x; if x>3, y = 3. I need to plot y as a function of x.
The problem is that creating a nested if loop does not create the graph of the last loop. Here's my code:
for x = 1:0.1:5
if (x<1.5)
y = 1.5;
plot(x,y)
hold on
elseif (1.5<=x<3)
y=x;
plot(x,y)
else
y=3;
plot(x,y)
hold off
end
end
  1 件のコメント
Pallav Mishra
Pallav Mishra 2013 年 2 月 11 日
編集済み: Walter Roberson 2013 年 2 月 11 日
Oh I got it..my elseif construct was wrong..my code should have been:
>> for x = 1:0.1:5
if (x < 1.5)
y = 1.5;
plot(x,y)
hold on
elseif (x >= 1.5) && (x < 3)
y = x;
plot(x,y)
else
y = 3;
plot(x,y)
end
end

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

回答 (2 件)

Walter Roberson
Walter Roberson 2013 年 2 月 11 日
Right. MATLAB has no range-test operator.

Jan
Jan 2013 年 2 月 11 日

カテゴリ

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