在MATLAB中强制参数在非线性拟合中是积分的

时间:2016-07-21 23:50:31

标签: matlab non-linear-regression model-fitting

在MATLAB中使用函数lsqcurvefit,如何为其中一个参数强制执行整数类型?有问题的特定参数是向量的索引,因此只有整数值才有意义;但是,拟合例程可能会在迭代期间尝试参数的任意实数值。

1 个答案:

答案 0 :(得分:0)

用户001

lsqcurvefit参数是(fun(函数),X0实数向量/数组初始点,xdata实数向量/数组输入数据,ydata实数向量/数组响应来自模型的数据,ub实数向量/数组上限变量, lb实数向量/数组下限变量)

我没有看到任何索引值只是数组或向量和函数

也许,您的MatLab版本与我的不同? 示例如下:

X0 = [100,-1]; fun = @(x,xdata)x(1)*exp(x(2)*xdata);

lb = [0,-2];  
ub = [3/4,-1];

xdata = ...
    [0.9 1.5 13.8 19.8 24.1 28.2 35.2 60.3 74.6 81.3];
ydata = ...
    [455.2 428.6 124.1 67.3 43.2 28.1 13.1 -0.4 -1.3 -1.5];