An Options pay-off question

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 comentario

Pallav Mishra
Pallav Mishra el 11 de Feb. de 2013
Editada: Walter Roberson el 11 de Feb. de 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

Iniciar sesión para comentar.

Respuestas (2)

Categorías

Más información sobre Loops and Conditional Statements en Centro de ayuda y File Exchange.

Preguntada:

el 11 de Feb. de 2013

Community Treasure Hunt

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

Start Hunting!

Translated by