怎么用matlab求解Logistic模型中的三个参数?

将Logistic模型的方程变为y=a/(1+exp^(b-c(k+2008))),y=(217.4277,226.0693,233.0513,240.9326,245.... 将Logistic模型的方程变为y=a/(1+exp^(b-c(k+2008))),y=(217.4277 ,226.0693 ,233.0513,240.9326,245.9464 ,252.0678 ,253.6716 ,260.0147 ,262.5289 ,264.2830 ),k=(1,2,3,4,5,6,7,8,9,10),怎么求出参数a,b,c的值,要具体的程序.不知道我的提问还缺少数据不?感谢! 展开
 我来答
lhmhz
高粉答主

2020-03-29 · 专注matlab等在各领域中的应用。
lhmhz
采纳数:7264 获赞数:17017

向TA提问 私信TA
展开全部

题主的问题可以这样来实现。

1、自定义函数,即

fun=@(a,k)a(1)./(1+exp(a(2)-a(3)*(k)));  注:这里不能k+2008,而应为k

2、确定初值,a0=[210 0 0.1]; 

3、使用lsqcurvefit函数求解系数,a=a(1),b=a(2),c=a(3)

4、绘制拟合前后的数据对比图

运行结果



追问
大神,厉害!我还想问您下,确定初值是如何确定的,还是随便确定的。谢谢!
追答
一般可以先用随机数试,然后再逐步调整。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式