MATLAB: Code does gives me an error message if I execute it with F5, but if I mark the full code and press F9, its working

execute codef5f9

Hi,
I have this code here:
S0=10
K=10
T=0.2
Tt=0.05
Vola=0.2
r=0.02
x=[0:0.001:20];
y1=blsprice(S0,K,r,T,Vola)-blsprice(x,K,r,Tt,Vola);
y2=blsprice(S0,K,r,T,Vola)-blsprice(x,K,r,T,Vola);
plot(x,y1,'k',x,y2)
xlabel('Stock Price ($)');
ylabel('Gain ($)');
axis([8 12 -1 0.5]);
set(gca,'xtick',8.5:0.5:12)
text(10.05,0.25,'Call short at t=t','color','k');
text(8.35,0.25,'Call short at t=0','color','b');
line([0 ; 12],[0 ; 0],'color','k')
%line([10 ; 10],[-1 ; 1],'color','k')
set(gca,'Box','off')
By selecting everything and pressing F9, it's working perfectly. However, if I press F5, I get this error message:
Undefined function 'delta_hedge_call_short_portfolio_t1_option' for input
arguments of type 'char'.
Do you have any idea what is not working here?

Best Answer

When you select your code then click f9 means your code is executed in the current folder, when you cick f5, it's executed from where the file is saved, maybe it could'nt find some functions