人口预测模型及matlab代码
生活随笔
收集整理的這篇文章主要介紹了
人口预测模型及matlab代码
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
目錄
題目
1949年—1994年我國人口數據資料如下:
年 份 xi 49 54 59 64 69 74 79 84 89 94
人口數 yi 5.4 6.0 6.7 7.0 8.1 9.1 9.8 10.3 11.3 11.8
建模分析我國人口增長的規律, 預報1999年我國人口數(億)。
1. 在坐標系上作觀測數據的散點圖;
2. 根據散點分布的幾何特征提出模型;
3. 利用數據估計模型的參數;
4. 計算擬合效果。
第一步–畫出散點圖
matlab代碼如下:
x= [49 54 59 64 69 74 79 84 89 94] ; y=[5.4 6.0 6.7 7.0 8.1 9.1 9.8 10.3 11.3 11.8 ]; a=polyfit(x,y,1);得到結果:
根據散點圖的分布情況我們可以提出兩個模型:
模型一:假設人口數量隨時間線性增加
y = a*x + b
模型二:指數增長模型
y = a * exp(b * x)
轉化為:
lny = lna + b*x
第二步–利用matlab畫出兩中模型的擬合函數
代碼如下:
x= [1949 1954 1959 1964 1969 1974 1979 1984 1989 1994] ; y=[5.4 6.0 6.7 7.0 8.1 9.1 9.8 10.3 11.3 11.8 ]; x1=1949:10:1994; a=polyfit(x,y,1); %散點圖 y1=a(2)+a(1)*x1; %模型一 b=polyfit(x,log(y),1); y2=exp(b(2))*exp(b(1)*x1); %模型二 用exp是要將ln轉化回去 plot(x,y,'*') hold on plot(x1,y1,'--r') hold on plot(x1,y2,'-k') legend('原曲線','模型一曲線','二曲線')得到擬合后的曲線圖:
求得擬合函數為:
模型一:y = 0.146 * x - 1.93
模型二:y = 2.33*exp(0.0179 * x)
(此時的x帶入年份的后兩位)
第三步–利用擬合函數預測1999年的人口數量并計算擬合精度
預測結果:
模型一預測1999年的人口數量為:12.524億
預測1999年的人口數量為:13.708億
擬合精度計算公式:
利用matlab計算
代碼如下:
計算得到擬合精度為:0.3531
總結
以上是生活随笔為你收集整理的人口预测模型及matlab代码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SitePoint Podcast#16
- 下一篇: Proteus20个应用技巧