如何使用MATLAB求解logistic模型的参数

2024-11-18 15:41:53
推荐回答(3个)
回答1:

你的数据有问题。t 和 x的个数不相等。只能数据来计算。

t=0:5:95;  %[0,10,20....110];

x=[3 5 10 19 34 54 79 108 145 192 260 344 425 500 566 626 680 728 768 803]; 

func=inline('a(1)./(1+(a(1)/a(2)-1)*exp(-a(3).*t))','a','t');

b=[9.5022   0.34446  4.3874];

a=lsqcurvefit(func,b,t,x);

vpa(a,10)

x1=func(a,t);

[x' x1']

plot(t,x,'*',t,x1,'r-')

xlabel('t');ylabel('x(t)')

legend('原始数据','拟合曲线')

运行结果

[ 848.9710766, 8.511800278, 0.07576157627]

%xm=848.9710766,x0=8.511800278,r=0.07576157627

%          x        x1     对比值

            3       8.5118

            5       12.375

           10       17.953

           19       25.969

           34       37.401

           54        53.54

           79        75.99

          108       106.59

          慎冲145       147.17

          192       199.06

          260        262.4

          344       335.49

          425       414.55

          500    友孝悔   494.31

          566        569.3

  好正        626       635.29

          680       690.06

          728       733.34

          768       766.25

          803       790.54

回答2:

请问一下,这哪一本书啊?

回答3:

其中的xm,x0是什么参数?与x啥关系?请讲下。