MATLAB求解一个问题

来源:百度知道 编辑:UC知道 时间:2024/05/15 05:49:42
Y=xm/(1+(xm/162)-1)*exp(-r*x))
进行拟合
x=1:6
y=[162 205 254 275 290 300];
只需要拟合出 xm, r值即可,谢谢了

模型的括号好像不对。

程序是这样的,你在看看。
function nonlinefit1
clc;clear;
x=[1:6]'
y=[162 205 254 275 290 300]'
beta=nlinfit(x,y,@myfunc,[12; 1]) ;

xm=beta(1),r=beta(2)
xx=0:0.1:6;
yy=xm./(1+(xm/162-1)*exp(-r*xx));
plot(x,y,'o',xx,yy)

function Y=myfunc(const,x)
xm=const(1); r=const(2);
Y=xm./(1+(xm/162-1)*exp(-r*x));

xm为2.1和3.125如果r是变量的话,那么r将为xm的1/2次方