Why my Matlab-code doesn't work?

Hi,
I have a program but for some reason it doesn't work. I got a messagge: undefined function or variable.
Code:
function [C, Cdelta, P, Pdelta] = ch08(S,E,r,sigma,tau)
if tau > 0
d1 = (log(S/E)+(r+0.5*sigma^2)*(tau))/(sigma*sqrt(tau));
d2=d1-sigma*sqrt(tau);
N1=0.5*(1+erf(d1/sqrt(2)));
N2=0.5*(1+erf(d2/sqrt(2)));
C=S*N1-E*exp(-r*(tau))*N2;
Cdelta=N1;
P=C+E*exp(-r*(tau))-S;
Pdelta=Cdelta-1;
else
C=max(S-E,0);
Cdelta=0.5*(sign(S-E)+1);
P=max(E-S,0);
Pdelta=Cdelta-1;
end
Any ideas, why it doesn't work?
Thanks in advance!

3 个评论

Please post the complete error message. Then we do not have to guess which variable or function is concerned and which line contains the problem.
How do you call this function? Do you start it using the Run button in the editor? Then you do not provide any input.
There is a good chance that the function has not been added in the MATLAB path. Either add the file in path or change the directory to the one that has the ch08.m file.
Now it works, thanks!

请先登录,再进行评论。

回答(0 个)

类别

在 帮助中心 和 File Exchange 中查找有关 MATLAB 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by