怎么在matlab求解Logistic模型中的三个参数?
将Logistic模型的方程变为y=a/(1+exp^(b-c*k)),y=(59.3707,64.1860,68.4081,74.1428,80.8853,85.135...
将Logistic模型的方程变为y=a/(1+exp^(b-c*k)),y=(59.3707 ,64.1860,68.4081,74.1428, 80.8853,85.1350 ,86.4426 , 90.7789, 92.4478 , 93.8826 ),k=(1,2,3,4,5,6,7,8,9,10),怎么求出参数a,b,c的值。感谢!
展开
展开全部
题主的Logistic模型中的a,b,c三个参数如何求解?可以按下列步骤计算:
第一步:将已知值赋值给k,y变量
k=[。。。];
y=[。。。];
第二步:根据数学模型,自定义其函数
fun=@(p,k)p(1)./(1+exp(p(2)-p(3)*k));
第三步:初定p0的初值
p0=[100 0 0.2]
第四步:使用nlinfit函数求解拟合系数p,p(1)—a,p(2)—b,p(3)—c
[p,r] = nlinfit(k,y,fun,p0);
第五步:计算拟合值
y1=fun(p,k)
第六步:使用plot函数,绘制原始数据与拟合数据的对比图
plot(k,y,'ro',k1,y1,'k.-')
legend('原始数据','拟合数据')
xlabel('k'),ylabel('y')
运行上述代码,可以得到如下结果。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询