An Options pay-off question

1 visualización (últimos 30 días)
Pallav Mishra
Pallav Mishra el 11 de Feb. de 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 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)

Walter Roberson
Walter Roberson el 11 de Feb. de 2013
Right. MATLAB has no range-test operator.

Jan
Jan el 11 de Feb. de 2013

Categorías

Más información sobre MATLAB Coder en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by