x=load('C:\Users\admin\Desktop\12.txt');
n=length(x);
result=zeros(n-1,1);
logresult=zeros(n-1,1);
for i=2:n
result(i-1)=x(i)/x(i-1);
end
for i=1:n-1
logresult((i))=log(result(i));
end
sige=std(logresult);
e=load('C:\Users\admin\Desktop\123.txt');
r=load('C:\users\admin\desktop\2.txt');
f=load('C:\users\admin\desktop\21.txt');
m=length(e);
e=zeros(m,1);
r=zeros(m,1);
f=zeros(m,1);
for i=1:m
sigv=sige;
T(i,1)=1;
v(i,1)=fsolve(@(v)myfun(v,f,sigv,e,r,T),[1000000;0.1]);
end
v(i,1);
这是我的运行程序
m文件总的程序为:
Function y=myfun(v,f,sigv,e,r,T)
d1=(log(v/f)+(r+0.5*sigv^2)*T)/sigv*sqrt(T);
d2=d1-sigv*sqrt(T);
y=v*normcdf(d1,0,1)-f*exp(-rT)*normcdf(d2,0,1)-e;
出现的错误为:
??? Attempt to execute SCRIPT myfun as a function.
Error in ==> fsolve at 180
fuser = feval(funfcn{3},x,varargin{:});
求各位大神指点!非常感谢!