




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、精選優(yōu)質文檔-傾情為你奉上實驗03 建立數(shù)學模型3.1 人口指數(shù)增長模型演示本實驗不要求寫實驗報告。1實驗目的(1)學會人口指數(shù)增長模型的建模過程; (2)進一步掌握MATLAB軟件的一些基本功能;(3)初步掌握用MATLAB軟件對模型作分析檢驗;(4)學會使用MATLAB軟件的help功能。2實驗內容(參考教材p10-12)利用表1,對人口指數(shù)增長模型作檢驗。表1 美國1790-2000年人口統(tǒng)計數(shù)據(jù)(以百萬為單位)年17901800181018201830184018501860187018801890人口3.95.37.29.612.917.123.231.438.650.262.9年1
2、9001910192019301940195019601970198019902000人口76.092.0106.5123.2131.7150.7179.3204.0226.5251.4281.43實驗步驟(1)模型假設人口增長率為常數(shù)r。(2)模型建立(微分方程模型)記時刻t的人口為x(t),為了利用微積分這一數(shù)學工具,將x(t)視為連續(xù)、可微函數(shù)。記初始時刻(t=0)的人口為x0。由模型假設人口增長率為常數(shù)r。考慮t到t+t時間內人口的增量,可得x(t+t)-x(t)=rx(t)t x(t+t)-x(t) = rx(t) t 令t0,得到x(t)滿足微分方程 dx = rx(t) dt x
3、(0)=x0用MATLAB求解該微分方程>> x=dsolve('Dx=r*x','x(0)=x0') x =x0*exp(r*t)得解為x(t) = x0 e r t即為人口指數(shù)增長模型。(3)參數(shù)估計用表1的數(shù)據(jù)估計參數(shù)x0、r。將x(t) = x0 e r t兩邊對數(shù),可得y = rt + a, y = ln x, a = ln x0采用線性最小二乘法進行數(shù)據(jù)擬合,用MATLAB軟件計算。以下是MATLAB的一個腳本式文件:%分別用1790年至1900年的數(shù)據(jù)和全部數(shù)據(jù)(1790年至2000年)進行數(shù)據(jù)擬合求參數(shù)r,x0。%文件名:p10_ra
4、.mclear;clc;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;t=0:length(x)-1;y1=log(x(1:12);%取1790-1900年的數(shù)據(jù)ra1=polyfit(t(1:12),y1,1);%為數(shù)據(jù)數(shù)擬合多項式,用help ployfit查閱disp('用1790-1900年的數(shù)據(jù)估計的參數(shù)為:')disp(' r=',num2str(round
5、(10000*ra1(1)/10000),. ' x0=',num2str(exp(ra1(2)y2=log(x);%取1790-2000年的數(shù)據(jù)ra2=polyfit(t,y2,1);disp('用1790-2000年的數(shù)據(jù)估計的參數(shù)為:')disp(' r=',num2str(round(10000*ra2(1)/10000),. ' x0=',num2str(exp(ra2(2)運行結果:用1790-1900年的數(shù)據(jù)估計的參數(shù)為: r=0.2743 x0=4.1884用1790-2000年的數(shù)據(jù)估計的參數(shù)為: r=0.202
6、2 x0=6.045分別得到兩個人口指數(shù)增長模型:x1(t) = 4.1884 e 0.2743 tx2(t) = 6.0450 e 0.2022 tx1(t),x2(t)是1790+10t年的人口數(shù)(以百萬為單位),t=0,1,2,。 r為每10年的人口增長率(估計值)。x(0)=x0為1790年初始人口數(shù)(估計值)。(4)結果分析用以上模型計算出的結果與實際數(shù)據(jù)作比較。為了減少誤差,把求模型參數(shù)和計算結果數(shù)據(jù)編寫成一個MATLAB程序。以下是一個腳本式文件:%分別用1790年至1900年和用1790年至2000年的數(shù)據(jù)建立人口指數(shù)增長模型,用模型計算人口數(shù)據(jù)。%文件名:p11_data.m
7、clear;clc;format compact %輸出中沒有空行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;t=0:length(x)-1;y1=log(x(1:12);ra1=polyfit(t(1:12),y1,1);y2=log(x);ra2=polyfit(t,y2,1);y=ra1(1)*t+ra1(2);ra2(1)*t+ra2(2);xx=exp(y);xx(1,13:22)=zer
8、os(1,10);disp('指數(shù)增長模型擬合美國人口數(shù)據(jù)的結果')disp('第1行:年')disp('第2行:實際人口')disp('第3行:計算人口(1790年至1900年)')disp('第4行:計算人口(1790年至2000年)')format short g;%用help format查閱1790+10*t;x;round(10*xx)/10format;以上m文件的運行結果:指數(shù)增長模型擬合美國人口數(shù)據(jù)的結果第1行:年第2行:實際人口第3行:計算人口(1790年至1900年)第4行:計算人口(1790
9、年至2000年)ans = Columns 1 through 6 1790 1800 1810 1820 1830 1840 3.9 5.3 7.2 9.6 12.9 17.1 4.2 5.5 7.2 9.5 12.5 16.5 6 7.4 9.1 11.1 13.6 16.6 Columns 7 through 12 1850 1860 1870 1880 1890 1900 23.2 31.4 38.6 50.2 62.9 76 21.7 28.6 37.6 49.5 65.1 85.6 20.3 24.9 30.5 37.3 45.7 55.9 Columns 13 through 1
10、8 1910 1920 1930 1940 1950 1960 92 106.5 123.2 131.7 150.7 179.3 0 0 0 0 0 0 68.4 83.7 102.5 125.5 153.6 188 Columns 19 through 22 1970 1980 1990 2000 204 226.5 251.4 281.4 0 0 0 0 230.1 281.7 344.8 422.1以下是由數(shù)據(jù)和模型繪圖的三個m文件,其中一個是腳本式文件,兩個是函數(shù)式文件:%根據(jù)人口數(shù)據(jù)和人口指數(shù)增長模型繪制圖形。%文件名:p11_fig.mclear;clc;x=3.9 5.3 7.2
11、 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;t=0:length(x)-1;plot(t(1:12),x(1:12),'b+');title('指數(shù)增長模型擬合圖形(1790年至1900年)','FontSize',8);xlabel('t (1790+10 t 年)','FontSize',8);ylabel('x (百萬人)'
12、,'FontSize',8);hold on;fplot('p11_figfun1',0,11,'r');%用help fplot查閱axis(0,12,0,100);legend('實際數(shù)據(jù)','計算結果',0); %用help legend查閱hold off;figure(2);plot(t,x,'b+');title('指數(shù)增長模型擬合圖形(1790年至2000年)','FontSize',8);xlabel('t (1790+10 t 年)'
13、,'FontSize',8);ylabel('x (百萬人)','FontSize',8);hold on;fplot('p11_figfun2',0 length(x)-1,'r');axis(0,25,0,500);%用help查閱legend('實際數(shù)據(jù)','計算結果',0);hold off;下面是一個函數(shù)式文件:%用1790-1900年的人口數(shù)據(jù)得到的模型函數(shù)%文件名:p11_figfun1.mfunction x=p11_figfun1(t)x=4.1884*exp(0.
14、2743*t);下面是另一個函數(shù)式文件:%用1790-2000年的人口數(shù)據(jù)得到的模型函數(shù)%文件名:p11_figfun2.mfunction x=p11_figfun2(t)x=6.0450*exp(0.2022*t);執(zhí)行p11_fig.m得到以下兩個圖形:可以看出,我們所求得的模型基本上能夠描述十九世紀以前美國人口的增長,但是進入二十世紀后,美國人口增長明顯變慢,這個模型就不合適了。下面討論人口增長率為常數(shù)r這個模型假設是否合理。以下是求每10年的各個人口增長率的腳本式文件:%用數(shù)值微分的三點公式計算美國人口增長率(/10年)%文件名:p12_r.mclear;clc;x=3.9 5.3
15、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;t=0:length(x)-1;r=zeros(size(x);for i=1:length(x) %求數(shù)值微分 if i=1 r(1)=(-3*x(1)+4*x(2)-x(3)/2;%x(1) elseif i=length(x) r(i)=(x(i-2)-4*x(i-1)+3*x(i)/2; %x(length(x) else r(i)=(x(i+1)-x(i-1)/2;
16、 %x(i),1<i<length(x) endendr=r./x; %求增長率(/10年)disp('第1行:年')disp('第2行:增長率(/10年)')format short g;1790+10*t;round(10000*r)/10000%輸出數(shù)據(jù)plot(t,r,'ro-');hold on;plot(0,11,0.2743,0.2743,':',0,21,0.2022,0.2022,'-.');xlabel('t(1790+10t年)','FontSize'
17、;,8);ylabel('r(增長率/10年)','FontSize',8);legend('實際增長率','r = 0.2743(1790-1900年)','r = 0.2022(1790-2000年)');hold;以上m文件的執(zhí)行結果:第1行:年第2行:增長率(/10年)ans = Columns 1 through 6 1790 1800 1810 1820 1830 1840 0.2949 0.3113 0.2986 0.2969 0.2907 0.3012 Columns 7 through 12 18
18、50 1860 1870 1880 1890 1900 0.3082 0.2452 0.2435 0.242 0.2051 0.1914 Columns 13 through 18 1910 1920 1930 1940 1950 1960 0.1658 0.1465 0.1023 0.1044 0.1579 0.1486 Columns 19 through 22 1970 1980 1990 2000 0.1157 0.1046 0.1092 0.1157 可見實際的增長率變化范圍很大,必須修改指數(shù)增長模型關于人口增長率是常數(shù)這個基本假設。3.2 人口指數(shù)增長模型檢驗本實驗要求寫實驗報告。
19、1實驗目的學會用MATLAB軟件的功能檢驗模型。2實驗內容用1900年至2000年的數(shù)據(jù)擬合指數(shù)增長模型x(t)=x0*er*t,計算并作圖,觀察結果。具體任務如下:(1)參數(shù)估計r,x0;(2)結果分析。計算指數(shù)增長模型擬合美國人口數(shù)據(jù)的結果;繪制指數(shù)增長模型擬合圖形(1900年至2000年)。3.3 人口阻滯增長模型(Logistic模型)檢驗演示1實驗目的學會用MATLAB軟件的功能檢驗模型。學會用help查詢系統(tǒng)函數(shù)的使用。2實驗內容(參考教材p12-15)(1)用MATLAB繪制Logistic模型dx/dtx曲線。dx x = rx(1- ), x(0)=x0dt xm取r=xm=
20、1。(2)用MATLAB求解微分方程dx x = rx(1- ), x(0)=x0dt xm(3)用MATLAB繪制Logistic模型xt曲線x(t)=xm/(1+(xm/x0-1)e-rt)取xm=1,r=2.3,x0=0.1。(4)用1790年至1990年的數(shù)據(jù)擬合估計參數(shù)r,xm,計算阻滯增長模型擬合美國人口數(shù)據(jù)的結果(1790-1990),繪制阻滯增長模型擬合圖形(以1790年為起點)。用下面方程dx/dt r = r-sx, s = x xm估計參數(shù)r,xm。3實驗步驟(1)用MATLAB繪制Logistic模型dx/dtx曲線。dx x = rx(1- ), x(0)=x0dt
21、xm取r=xm=1。%繪制Logistic模型dx/dtx,dx/dt=rx(1-x/xm),r=xm=1%文件名p13_dx.mfplot('x*(1-x)',0 1 0 0.351)title('Logistic模型dx/dtx曲線');hold onplot(0.5 0.5,0 0.25,':')text(0,0.351,'dx/dt','VerticalAlignment','bottom')text(1,0,' x','HorizontalAlignment'
22、;,'left')text(0.5,-0.025,'xm/2','HorizontalAlignment','center')text(1,-0.025,'xm','HorizontalAlignment','center')運行結果如圖。(2)用MATLAB求解微分方程dx x = rx(1- ), x(0)=x0dt xm>> x=dsolve('Dx=r*x*(1-x/xm)','x(0)=x0')x =xm/(1+exp(-r*t)
23、*(xm-x0)/x0)即得x(t)=xm/(1+(xm/x0-1)e-rt)(3)用MATLAB繪制Logistic模型xt曲線x(t)=xm/(1+(xm/x0-1)e-rt)%繪制Logistic模型xt曲線,x(t)=xm/(1+(xm/x0-1)e(-rt),xm=1,r=2.3,x0=0.1%文件名p13_x.mfplot('1/(1+(1/0.1-1)*exp(-2.3*t)',0 3 0 1.401)title('Logistic模型xt曲線');hold onplot(0 3,1 1,':',0 1,0.5 0.5,':
24、')text(0,1.401,'x','VerticalAlignment','bottom')text(3,0,' t','HorizontalAlignment','left')text(0,1,'xm ','HorizontalAlignment','right')text(0,0.5,'xm/2 ','HorizontalAlignment','right')運行結果如圖。(4)用1790
25、年至1990年的數(shù)據(jù)擬合估計參數(shù)r,xm,計算阻滯增長模型擬合美國人口數(shù)據(jù)的結果(1790-1990),繪制阻滯增長模型擬合圖形(以1790年為起點)。用下面方程dx/dt r = r-sx, s = x xm估計參數(shù)r,xm。以下是腳本式文件:%用數(shù)值微分的三點公式計算美國人口增長率(/10年)%文件名:p14_datafig.mclear;clc;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;%21個t=0:
26、length(x)-1;rr=zeros(size(x);for i=1:length(x) %求數(shù)值微分 if i=1 rr(1)=(-3*x(1)+4*x(2)-x(3)/2; elseif i=length(xx) rr(i)=(x(i-2)-4*x(i-1)+3*x(i)/2; else rr(i)=(x(i+1)-x(i-1)/2; endendrr=rr./x; %rr=(dx/dt)/x, 增長率(/10年)sr=polyfit(x,rr,1);r=sr(2);xm=-r/sr(1);disp('固有增長率:r=',num2str(round(10000*r)/10000),'/10年')disp('人口容量:xm=',num2str(round(10000*xm)/10000)x0=3.9;%xm=392.0886;r=0.2557;xx=xm./(1+(xm/x0-1)*exp(-r*t);%計算人口disp('阻滯增長模型擬合美國人口數(shù)據(jù)的結果')disp('第1行:年')disp('第2行:實際人口')disp('第3行:計算人口')format short g;1790+10*t;x;round(10*xx)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 航天信息財務培訓
- 綜合實踐課:水與健康
- 舞蹈培訓匯報演出
- TTT培訓師成長特訓營
- 腫瘤放化療科出科培訓大綱
- 客車操作培訓課件
- 女士正裝培訓
- 培訓銷售流程
- 腫瘤患者飲食營養(yǎng)護理
- 酒店前廳服務流程標準化管理
- 人教版2025年八年級英語下學期期末總復習(專題訓練)專題01單項選擇【期末易錯100題】(人教版)(學生版+解析)
- 企業(yè)財務內控管理制度
- 2025以色列與伊朗沖突全面解析課件
- 做賬實操-漁業(yè)行業(yè)的賬務處理分錄實例
- (完整版)金融企業(yè)會計練習題
- 新教育 考試試題及答案
- 2025至2030中國心理保健行業(yè)發(fā)展趨勢分析與未來投資戰(zhàn)略咨詢研究報告
- 兒童活動抓魚活動方案
- 天津2025年中國醫(yī)學科學院放射醫(yī)學研究所第一批招聘筆試歷年參考題庫附帶答案詳解
- 2025甘肅省農墾集團有限責任公司招聘生產技術人員145人筆試參考題庫附帶答案詳解析
- 安保安全考試試題及答案
評論
0/150
提交評論