拟合数据:
年份t = 1790:10:1900;
人口p = [3.0 5.3 7.2 9.6 12.9 17.1 23.2 31.4 38.6 50.2 62.9 76.0];
待拟合关系:
已知:人口增长与年份满足以下函数关系:
x(t) = x0*e^rt;
解题过程:
1.转换成线性关系:
Y = a1t + a2;( 其中 y=ln(x(t))、a1=rt 、a2=ln(x0) )
2.对以上线性关系拟合,求出a1、a2:
Y = log(p);
X=t;
a=polyfit(X,Y,1);
3.根据求得的a1、a2反向得出rt、ln(x0),继而得到拟合出原函数关系,绘制图像,验证一致性:
x0=exp(a(2));r=a(1);
ti=1790:1900;
pti=x0*exp(r*ti);
plot(t,p,'o',ti,pti,'m')
xlabel('Year')
ylabel('Population')
完整代码实现:
t = 1790:10:1900;
p = [3.0 5.3 7.2 9.6 12.9 17.1 23.2 31.4 38.6 50.2 62.9 76.0];
Y = log(p);X=t;
a=polyfit(X,Y,1);
x0=exp(a(2));r=a(1);
ti=1790:1900;
pti=x0*exp(r*ti);
plot(t,p,'o',ti,pti,'m')
xlabel('Year')
ylabel('Population')
plot(t,p,'o',ti,pti,'m')
运行截图:
结论:
由以上运行截图可知,已知关系模型x(t) = x0*e^rt与实际数据具有高度一致性,故该关系模型可信。