全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 MATLAB等数学软件专版
1397 1
2016-06-16
用lsqcurvefit做非线性二乘估计参数,matlab程序总是出错,希望大神帮忙!!!下面是程序:
function f=curvefun1(x,S0,K,r,T)
z1=1/(x(4)*sqrt(T))*(log(S0/K)+(r+x(4)^2/2)*T);
z2=1/(x(4)*sqrt(T))*(log(S0/K)+(r-x(4)^2/2)*T);
fai1=1/sqrt(2*pi())*exp(z1^2/2);
fai2=1/sqrt(2*pi())*exp(z2^2/2);
deta1=int(fai,-inf,z1);
deta2=int(fai2,-inf,z2);
f=S0*deta1-exp(-r*T)*K*deta2+x(1)*fai1*S0*sqrt(T)/x(4)+x(2)*fai1*(-x(4)*sqrt(T)-z1)*S0/x(4)^2+x(3)*fai1*(z1^2+3*x(4)*sqrt(T)*z1+2*x(4)^2*T-1)*S0/(x(4)^3*sqrt(T));
end

调用该函数
[x,resnorm]=lsqcurvefit(@curvefun1,[-0.0431 0.0013619 0.0001321 0.31],[S0;K;r;T],result);
错误:
Error using curvefun1 (line 2)
Not enough input arguments.

Error in lsqcurvefit (line 203)
            initVals.F = feval(funfcn_x_xdata{3},xCurrent,XDATA,varargin{:});

Caused by:
    Failure in initial user-supplied objective function evaluation. LSQCURVEFIT cannot continue.

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2016-6-16 22:42:41
data.xlsx
大小:(15.91 KB)

 马上下载

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群