我试图在MATLAB中将一些数据拟合到非线性方程中。我正在使用包lsqnonlin。我似乎无法找出为什么我的估计会出错。我的代码如下:
fun = @(x)x(1)*log(x(2)/v)-y;
x0 = [15,15];
lb = [15,15];
ub = [1000,1000];
options = optimoptions('lsqnonlin','Display','iter');
[x,resnorm,residual,exitflag,output] = lsqnonlin(fun,x0,lb, ub, options)
x
其中v是我的数据。 V的范围从0.2到14,所以我将下限设置为15,因此我的函数将始终定义。但是,当我运行程序时,我仍然会收到一个错误,指出目标函数在初始点返回了未定义的值。
任何想法都表示赞赏。