求助matlab高手,用nlinfit曲线拟合时报错!Error using ==> mrdivide Matrix d

问题描述:

求助matlab高手,用nlinfit曲线拟合时报错!Error using ==> mrdivide Matrix dimensions must agree.
函数原型为y=(b1-b2)/(1+e^((x-x0)/d))+b2
我的程序:b1,b2,x0,d 为四个待拟合参数
y=[-1.5000 -1.9000 -2.0000 -2.1000 -2.4000 -2.6000 -2.4000 -2.2000 -2.1000 -1.8000 -2.9000 -3.1000 -3.8000 -4.0000 -4.4000 -5.8000 -6.1000 -6.4000 -4.0000 -5.2000 -6.1000 -7.5000 -6.3000 -6.9000 -7.3000 -7.7000 -5.8000];
x=-32.1:30:747.9;
>> myfunc=inline('beta(2)+(beta(1)-beta(2))/(1+exp((x-beta(3))/beta(4)))','beta','x');
beta=nlinfit(x,y,myfunc,[5 5 5 5]);
1个回答 分类:综合 2014-11-14

问题解答:

我来补答
x=x';y=y';
myfunc=inline('beta(2)+(beta(1)-beta(2))./(1+exp((x-beta(3))/beta(4)))','beta','x');
beta=nlinfit(x,y,myfunc,[5 1 5 5]);
beta
beta =
-1.8795 -6.8170 377.0127 81.2053
 
 
展开全文阅读
剩余:2000
上一页:算数过程
下一页:enjoy的反义词