这个
% Optimization using fminsearch
if ~isfield(Model, 'MatlabDisp'), Model.MatlabDisp = 'off'; end;
options = optimset('LargeScale', 'off', 'MaxIter', 300, 'MaxFunEvals',300,'Display',Model.MatlabDisp, 'TolFun', 1e-4, 'TolX', 1e-4, 'TolCon', 1e-4);
if ~isfield(Model, 'Method'), Model.Method = 'besseli'; end;
if strcmp(Model.Method, 'ncx2pdf')
[Params, Fval, Exitflag] = fminsearch(@(Params) CIRobjective2(Params, Model), InitialParams, options);
else
[Params, Fval, Exitflag] = fminsearch(@(Params) CIRobjective1(Params, Model), InitialParams, options);
end
%tol = 1e-6;
%lb = [ tol, tol, tol];
%ub = [ inf, inf, inf];
%[Params, Fval, Exitflag] = fmincon(@(Params) CIRobjective1(Params, Model),
InitialParams, [], [], [], [], lb, ub, [], options);
Results.Params = Params;
Results.Fval = -Fval/Nobs;
Results.Exitflag = Exitflag;
if strcmp(Model.Disp, 'y')
fprintf('\n alpha = %+3.6f\n mu = %+3.6f\n sigma = %+3.6f\n', Params(1), Params(2), Params(3));
fprintf(' log-likelihood = %+3.6f\n', -Fval/Nobs);
end
我有
未定义的函数或方法'mtimes'用于'struct'类型的输入参数。
Error in ==> CIRobjective2 at 26
u = c*exp(-alpha*TimeStep)*DataL;
Error in ==> @(Params)CIRobjective2(Params,Model)
Error in ==> fminsearch at 205
fv(:,1) = funfcn(x,varargin{:});
这是实际的源文件
你能帮我解释为什么我会收到这些错误吗?
此致 马苏德
答案 0 :(得分:0)
你确定你把所有的功能都正确并定义得很好吗? 也许你的功能不是正确的道路。
首先尝试初始化参数,定义InitialParams,使其在变量中出现。然后做CIRobjective1然后2然后你可以使用fminsearch进行优化。希望有所帮助。我是matlab的新用户,但在我的论文中使用它。
关心,丽塔。