plot a line that shows the difference between two lines
Mostrar comentarios más antiguos
hi,
I have the following code:
x=[0:0.0001:20]
y1=blsprice(x,10,0.02,0.2,0.2)-blsprice(10,10,0.02,0.2,0.2)
x1=[8:0.001:12]
y2=[0.85:-0.000425:-0.85]
plot(x,y1,x1,y2,'k')
xlabel('Stock Price ($)');
ylabel('Option price ($)');
axis([8 12 -1 2]);
text(10,1.1,'delta-hedge at t=0')
that gives me one straight line and a curve and I would like to plot a third line with the difference (y1-y2) but it's not working, probably due to the fact that there are different elements, is there any way to do this?
Respuestas (2)
Walter Roberson
el 1 de Abr. de 2013
0 votos
Use interp1() to produce values with a common x base so that you can subtract meaningfully.
10 comentarios
Locks
el 1 de Abr. de 2013
Image Analyst
el 1 de Abr. de 2013
Editada: Image Analyst
el 1 de Abr. de 2013
You have to accept the output of interp1() into a variable and then use that variable, plus pass it the proper variables of course.
Locks
el 1 de Abr. de 2013
Walter Roberson
el 1 de Abr. de 2013
You passed the undefined y1 in to interp() (which is a different routine) instead of passing in y2.
Also, to prevent possible problems, it is best to use the same xi in both cases instead of reassigning it with something that "should" be the same.
Locks
el 1 de Abr. de 2013
Walter Roberson
el 1 de Abr. de 2013
interp1() not interp()
Locks
el 1 de Abr. de 2013
Walter Roberson
el 1 de Abr. de 2013
plot(xi, yi - yj)
You interpolated over the same x values, xi, so there must be the same number of elements between the two.
Locks
el 1 de Abr. de 2013
Walter Roberson
el 2 de Abr. de 2013
hold on
after the first plot.
Locks
el 2 de Abr. de 2013
0 votos
2 comentarios
Walter Roberson
el 2 de Abr. de 2013
Editada: Walter Roberson
el 2 de Abr. de 2013
As discussed in http://www.mathworks.co.uk/matlabcentral/answers/69325-plot-the-slope-of-a-curve-in-the-same-plot#answer_80575 in order to get the exact slope, you need to work with the formula, not with the calculated data points.
Imagine you are heading due west on a road, and you can see 1 km ahead that the road continues on due west. What is the exact slope?
Oh, did I forget to mention that you are on a mountain-side and that the road you can see ahead is on the next peak over?
Locks
el 2 de Abr. de 2013
Categorías
Más información sobre Annotations en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!