我正在尝试进行非线性回归以找到具有最小二乘曲线拟合的常数Is和n Is(exp(1).^(V/26.*n))
。这是公式这是我的代码
fun = @(n,Is)Is(exp(1).^(V/26.*n));
x0 = [0,14];
x = lsqcurvefit(fun,x0,V,I)
它重新运行以下内容
矩阵尺寸必须一致。
@(n,Is)Is(exp(1)。^(V / 26. * n))中的错误
lsqcurvefit(第202行)中的错误initVals.F = feval(funfcn_x_xdata {3},xCurrent,XDATA,varargin {:});
原因:初始目标函数评估失败。LSQCURVEFIT无法继续。
从https://www.mathworks.com/help/optim/ug/lsqcurvefit.html
要适合的函数,指定为函数句柄或函数名称。fun是一个需要两个输入的函数:一个向量x或矩阵x,以及一个向量x或矩阵xdata。fun返回一个向量或矩阵F,该目标函数在x和xdata处求值。
在您的情况下,您fun
只会获取适合的参数,而无法获取数据。我建议将其更改为
fun = @(X,V) X(2)*(exp(1).^(V/26.*X(1)));
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句