如何解决在矩阵上使用 lsqcurvefit
我尝试在带有 Pi 组的矩阵上使用 lsqcurvefit。 我对使用 Matlab 非常陌生,但我尝试这样做: (xdata=30x5,ydata = 30x1)
xdata=[PI2,PI3,PI4,PI5,PI6]'
ydata=PI1
myfun = @(x,xdata) x(1).*(xdata(:,1).^(x(2))).*(xdata(:,2).^(x(3))).*(xdata(:,3).^(x(4))).*(xdata(:,4).^(x(5))).*(xdata(:,5).^(x(6)))+x(7)
x0 = [0; 2.5];
[x] = lsqcurvefit(myfun,x0,xdata,ydata)
我收到以下错误:
索引超过数组元素的数量(2)。
错误 AnalysisBasic>@(x,xdata)x(1).(xdata(:,1).^(x(2))).(xdata(:,2).^(x(3) ))).(xdata(:,3).^(x(4))).(xdata(:,4).^(x(5))).(xdata (:,5).^(x(6)))+x(7) (第 83 行) myfun = @(x,xdata) x(1).(xdata(:,1).^(x(2))).(xdata(:,2).^(x(3))). (xdata(:,3).^(x(4))).(xdata(:,4).^(x(5))).(xdata(:,5).^ (x(6)))+x(7)
lsqcurvefit 中的错误(第 225 行) initVals.F = feval(funfcn_x_xdata{3},xCurrent,XDATA,varargin{:});
AnalysisBasic 中的错误(第 86 行) [x] = lsqcurvefit(myfun,ydata)
原因: 初始目标函数评估失败。 LSQCURVEFIT 无法继续。
我做错了什么?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。