我正在尝试使用 lsqcurvefit 进行一些拟合。我有这样的功能:
function F = cdf_3p_model(a,data)
F=1-((1-a(5)-a(6)).*(exp(-abs(data)./a(1)))+((1-a(4)-a(6)).*(exp(-abs(data)./a(2))))+((1-a(4)-a(5)).*(exp(-abs(data)./a(3)))));
和
function [a residual] = cdf_fit_3p(x,y)
a0 = [10 1 0.1 0.3 0.3 0.3];
lb = [0 0 0 0 0 0];
ub = [];
curvefitoptions = optimset('Display','final','MaxFunEvals',100000,'MaxIter',50000);
[a, residual] = fmincon(@cdf_3p_model,a0,x,y,lb,ub,curvefitoptions);
end
我设置了初始参数 ub, lb 但我还如何声明:
a(1) > a(2) > a(3)
a(5) + a(6) +a(7) = 1