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