Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
|
![]() |
#1 |
初级会员
注册日期: 2011-09-07
年龄: 39
帖子: 1
声望力: 0 ![]() |
![]()
小弟想使用lsqcurvefit求y=(x/a)^(1/b)+c中的abc三个参数,使用以下方法计算:
m函数: function y=myfun(a,x) y=(x/a(1))^(1/a(2))+a(3); 程序: >> x=[0 5.555556 20 40 60 80 100 120 140 160 180 200]; y=[0.36036 0.61982 0.918919 1.16036 1.340541 1.506306 1.654054 1.783784 1.913514 2.025225 2.140541 2.255856]; x0=[1,1,1]; [x,resnorm]=lsqcurvefit(@myfun,x0,x,y) 程序提示出错: ??? Error using ==> mpower Matrix must be square. Error in ==> myfun at 2 F=(x/a(1))^(1/a(2))+a(3); Error in ==> lsqcurvefit at 209 initVals.F = feval(funfcn_x_xdata{3},xCurrent,XDATA,varargin{:}); Caused by: Failure in initial user-supplied objective function evaluation. LSQCURVEFIT cannot continue 希望好心人帮忙看看,程序错在什么地方或则有其他什么方法可以计算,谢谢 |
![]() |
![]() |