数学建模·Logistic模型·从人口预估到平均工资阻滞模型·代码移植故障

博客介绍了如何使用Logistic阻滞模型进行人口预估,并展示了代码实现和理想的拟合结果。但在将模型移植到预测某省未来40年平均工资时,遇到了秩不足的报错,导致模型无法正常运行。作者对错误原因感到困惑,寻求解决方案。
摘要由CSDN通过智能技术生成

用阻滞模型求解人口预估问题,代码如下:

x=[3.9,5.3,7.2,9.6,12.9,17.1,23.2,31.4,38.6,50.2,62.9,76.0,92.0,...
106.5,123.2,131.7,150.7,179.3,204.0,226.5,251.4,281.4,309.35]';
n=length(x);
y=x(1:n);%1790 年到 2010 年数据
t=(1:n)';
beta0=[5.3,0.22,400,]; %[x0,r,xm]
[beta,R,J]=nlinfit(t,y,'logisfun',beta0);
%R 为残差,beta 为待求参数
py=beta(3)./(1+(beta(3)/beta(1)-1)*exp(-beta(2)*t));%预测各年人口
p24=beta(3)./(1+(beta(3)/beta(1)-1)*exp(-beta(2)*24));%预测 2020 年人口
rmse=sqrt(sum(R.^2)/n); %均方误差根
plot(1:n,y,'*',1:n,py); %作对比图

 

%logisfun.m

function yhat=logisfun(beta,x)
yhat=beta(3)./(1+(beta(3)./beta(1)-1).*exp(-beta(2)*x));

 

运行结果很理想,得到了人口模型的拟合曲线,如下:

 

 

这个做好

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值