shuchi2001 发表于 2007-3-12 15:23

求助:关于lsqcurvefit函数的问题

function F=myfun(x,xdata)
F=/;

通过以下的调用
>> ydata = ;
>>xdata = ;
>>x0=40;
>> = lsqcurvefit(@myfun,x0,xdata,ydata);
出现问题
Error using ==> c:/matlab6p5p1/toolbox/optim/private/lsqncommon
User supplied function failed with the following error:

Error using ==> +
Matrix dimensions must agree.

Error in ==> C:\MATLAB6p5p1\toolbox\optim\lsqcurvefit.m
On line 129==> = ...
请高手指教

eight 发表于 2007-3-12 15:25

原帖由 shuchi2001 于 2007-3-12 15:23 发表
function F=myfun(x,xdata)
F=/;

通过以下的调用
>> ydata = ;
>>xdata = ;
>>x0=40;
>>= lsqcurvefit(@myfun,x0,xdata,ydata);
出现问题
Error using ==> c:/matlab6 ...


请查看*和.*、^和.^之间的区别

shuchi2001 发表于 2007-3-12 15:53

感谢提醒,经过修改,无法得出结果:
Optimization terminated successfully:
First-order optimality less than OPTIONS.TolFun, and no negative/zero curvature detected
请问440-xdata(:,1)这种写法有没有问题?我想用440分别减去数组的第一列的值

eight 发表于 2007-3-12 15:57

原帖由 shuchi2001 于 2007-3-12 15:53 发表
感谢提醒,经过修改,无法得出结果:
Optimization terminated successfully:
First-order optimality less than OPTIONS.TolFun, and no negative/zero curvature detected
请问440-xdata(:,1)这种写法有没有 ...

可以,没有问题

shuchi2001 发表于 2007-3-12 16:01

那为什么会无法得出结果呢?是因为函数过于复杂吗?

eight 发表于 2007-3-12 16:04

原帖由 shuchi2001 于 2007-3-12 16:01 发表
那为什么会无法得出结果呢?是因为函数过于复杂吗?


拟合这东西我不懂,你搜索一下版面吧。

ps:按照你的结果,不是成功吗?Optimization terminated successfully

shuchi2001 发表于 2007-3-12 16:50

啊,看错了,的确有结果,谢谢了:@)
页: [1]
查看完整版本: 求助:关于lsqcurvefit函数的问题