作业帮 > 综合 > 作业

matlab 非线性拟合问题.

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/04/28 12:00:54
matlab 非线性拟合问题.
function f=curvefun1(x,tdata)
f=x(1)/(1+x(2)*exp(-x(1)*x(3)*tdata))
tdata=1:1:12;
cdata=[100 90 89 76 55 40 30 10 8 8 8 7];
x0=[200,25,0.5];
x=lsqcurvefit('curvefun1',x0,tdata,cdata)
f=curvefun1(x,tdata)
function f=curvefun1(x)
tdata=1:12;
cdata=[100 90 89 76 55 40 30 10 8 8 8 7];
f=cdata-x(1)*(1+x(2)*exp(-x(1)*x(3)*tdata))
%你那个公式有问题,我改了
x0=[200,25,0.5];
lsqnonlin('curvefun1',x0)
这个怎么样
再问: 请问,matlab公式什么时候该点乘和点除啊? x=1:14; y=[1 1.5 5 10 14 16 18 19 20 20 20 20 20 20]; c0=[500 732.6 1.487]; fun=inline('c(1)./(1+c(2).*exp(-c(3).*x))','c','x'); b=nlinfit(x,y,fun,c0);b t=0:.01:8; plot(x,y,'r',t,fun(b,t)) 他解这个logistic,函数怎么这样?
再答: matlab对矩阵中的数值进行运算时,才会用点乘和点除。你这个非线性拟合可以,最好用最小二乘法拟合