An Options pay-off question

1 vue (au cours des 30 derniers jours)
Pallav Mishra
Pallav Mishra le 11 Fév 2013
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 commentaire
Pallav Mishra
Pallav Mishra le 11 Fév 2013
Modifié(e) : Walter Roberson le 11 Fév 2013
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

Connectez-vous pour commenter.

Réponses (2)

Walter Roberson
Walter Roberson le 11 Fév 2013
Right. MATLAB has no range-test operator.

Jan
Jan le 11 Fév 2013

Catégories

En savoir plus sur MATLAB Coder dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by