matlab 中logistic模型求解这是我写的源程序,直接从网上下载的建立m文件function y=zout(beta,t) % 保存为 zout.m 文件a=68.65;b=beta(1);k=beta(2);y=b./(1+((b-a)/a)*exp(-k*t));----------------------------------------------------
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/15 15:14:30
matlab 中logistic模型求解这是我写的源程序,直接从网上下载的建立m文件function y=zout(beta,t) % 保存为 zout.m 文件a=68.65;b=beta(1);k=beta(2);y=b./(1+((b-a)/a)*exp(-k*t));----------------------------------------------------
matlab 中logistic模型求解
这是我写的源程序,直接从网上下载的
建立m文件
function y=zout(beta,t) % 保存为 zout.m 文件
a=68.65;
b=beta(1);k=beta(2);
y=b./(1+((b-a)/a)*exp(-k*t));
----------------------------------------------------------
运行以下:
clear;clc
t=1:10;
y=[73.22 80.22 87.69 93.97 99.16 103.38 109.46 114.6 119.85 124.92];
beta0=[200 0.1];
beta=nlinfit(t,y,'zout',beta0)
plot(t,y,'*',t,zout(beta,t))
R2=corrcoef(y,zout(beta,t))
--------------------------------------
结果:
beta =
162.4100 0.1498
R2 =
1.0000 0.9989
0.9989 1.0000
beta0=[200 0.里面的数值200,0.1是怎么确定的?
还有如果结果显示
371.01 +1.1315e-005i -0.1308 -5.6501e-008i
matlab 中logistic模型求解这是我写的源程序,直接从网上下载的建立m文件function y=zout(beta,t) % 保存为 zout.m 文件a=68.65;b=beta(1);k=beta(2);y=b./(1+((b-a)/a)*exp(-k*t));----------------------------------------------------
beta0=[200 0.1];是b=beta(1);k=beta(2);的初始值.初始值确定是一个比较头疼的事,完全凭自己的感觉来初选,一般可用随机数来初步确定,看结果是否你要数据,然后再调整,直到满意为止.
如果结果显示
371.01 +1.1315e-005i -0.1308 -5.6501e-008i
这说明b=beta(1);k=beta(2);的初始值选择有问题.