作业帮 > 综合 > 作业

帮我用MATLAB用最小二乘法拟合一个人口指数增长模型和阻滞增长模型,只要拟合出来的函数图像,数据如下:

来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/11/19 21:59:20
帮我用MATLAB用最小二乘法拟合一个人口指数增长模型和阻滞增长模型,只要拟合出来的函数图像,数据如下:
2004年 2005年 2006年 2007年 2008年 2009年 2010年 2011年 2012年
714.33万 720.22万 730.51万759.67万 780.37万798.62万833.89万843.23万857.97万.
只用拟合的函数图像,代码不用.
帮我用MATLAB用最小二乘法拟合一个人口指数增长模型和阻滞增长模型,只要拟合出来的函数图像,数据如下:

参考代码:
t = 2004:2012;
x = [714.33 720.22 730.51 759.67 780.37 798.62 833.89 843.23 857.97];

% 模型一: 指数增长模型.
y = log(x);
a = polyfit(t,y,1);
r = a(1);
x0 = exp(a(2));
x1 = x0 * exp(r*t);

% 模型二:阻滞增长模型
f = @(a,t) a(1)./(1+(a(1)/x(1)-1)*exp(-a(2)*(t-t(1)))); 
a = lsqcurvefit(f,[880 1],t,x);
plot(t,x,'o',t,x1,'r:.')
x2 = f(a,t);
plot(t,x,'o',t,x1,'r:.',t,x2,'g*--')
legend('原始数据','指数增长模型','阻滞增长模型',2)
xlabel 年份; ylabel 人口(万人)