第一章 建立数学模型
第一章 建立數學模型
? 本章作為全書的導言和數學模型的概述,主要討論建立數學模型的意義、方法和步驟,給讀者以建立數學模型的全面的、初步的了解。
1.1 從現實對象到數學模型
? 原型:指人們在現實世界里關心、研究或者從事生產、管理的實際對象。
? 模型:指為了某個特定的目的而將原型的某一部分信息簡縮、提煉而構造的原型替代物。
? 數學模型:對于現實世界的一個特定對象,為了一個特定目的,根據特有的內在規律,做出一些必要的簡化假設,運用適當的數學工具,得到的一個數學結構。
1.2 數學建模的重要運用
? (1)分析與設計:例如描述藥物濃度在人體內的變化;建立跨音速流和激波的數學模型,用數值模擬設計新的飛機翼型;
? (2)預報與決策:生產過程中產品質量指標的預報、氣象預報、人口預報、經濟增長預報等;使經濟效益最大的價格策略、使費用最少的設備維修方案;
? (3)控制與優化:電力、化工生產過程的最優控制、零件設計中的參數優化;
? (4)規劃與管理:生產計劃、資源配置、運輸網絡規劃、水庫優化調度,以及排隊策略、物流管理等。
1.3 建模示例一:包餃子中的數學
? 【問題】假設1kg面和1kg餡可以包出100個中等大小的餃子,若某一天餡做多了而面沒有變,為了把餡全部包完,請問:
? (1)應該讓每個餃子小一些,多包幾個,還是每個餃子大一些,少包幾個?
? (2)如果要包大餃子,那么如果100個餃子可以包1kg餡,請問50個餃子可以包多重的餡?
? 【問題分析】直覺上我們會認為”大餃子包的餡多“,所以應該包大餃子。但是大餃子雖然包的餡多,但用的面皮也多,這就需要比較餡多和面多二者之間的數量關系。
? 首先,我們要把包餃子用的餡和面皮與數學概念聯系起來,那就是物體的體積和表面積。假設大餃子的體積為V,表面積為S,小餃子的體積為v,表面積為s,則問題轉化為:如果一個大餃子的面皮可以做成n個小餃子的面皮,那么V和nv哪個更大?大多少?
? 【模型假設】進行比較的前提就是所有餃子的面皮一樣厚。在這個條件下,大餃子和小餃子的面皮面積滿足
S=nS①S=nS① S=nS①
? 為了比較不同大小餃子餡的體積,我們還需要假設所有餃子的形狀一樣。
? 【模型建立】能夠把體積和表面積聯系起來的就是半徑。雖然餃子并不是一個標準的幾何物體,但是我們可以引入所謂“特征半徑”R和r,使得
V=k1R3,S=k2R2②V=k_1R^3,S=k_2R^2 ② V=k1?R3,S=k2?R2②
v=k1r3,s=k2r2③v=k_1r^3,s=k_2r^2③ v=k1?r3,s=k2?r2③
成立。注意:在所有餃子形狀一樣的情況下,上述式子的比例系數k1相同、k2也相同。
? 對于②和③,消去R和r,可得
V=kS32,v=ks32④V=kS^\frac{3}{2},v=ks^\frac{3}{2}④ V=kS23?,v=ks23?④
? 其中k由k1和k2所決定,且兩個k相同。現在我們聯立①~④,可以求得
V=n32v=n(nv)⑤V=n^\frac{3}{2}v=\sqrt{n}(nv)⑤ V=n23?v=n?(nv)⑤
? 上述第⑤式為包餃子問題的數學模型。
? 【結果解釋】模型⑤不僅定性說明了V比nv大(n>1),大餃子比小餃子包的餡更多,而且給出了定量結果。對于問題(2),可以算出包50個餃子時所用的餡的重量為
m=10050=2(kg)m=\sqrt{\frac{100}{50}}=\sqrt{2}(kg) m=50100??=2?(kg)
? 即50個餃子可以包√2kg(約為1.41kg)的餡。
1.4 建模示例二:路障間距的設計
? 【問題】在需要減速慢行的機動車道路中間,常常設置用于限制汽車速度的路障。路障之間相距太遠,起不到限制車速的作用,相距太近又會引起行車的不變,所以應該有一個合適的間距。請問:如果要求限制車速不超過40km/h,路障的間距應該是多少?
? 【問題分析】我們可以設想,汽車通過路障后,司機就會加速,到40km/h時讓司機因為前面有一個路障而減速,直至路障處車速接近于零。
? 按照這種分析,如果認為汽車在相鄰兩個路障之間一直做勻加速/勻減速運動,則只需要知道汽車的加速度,就可以算出兩個相鄰路障之間應有的間距。
? 【收集數據】現在我們需要知道汽車的加速度是多少。盡管我們可以直接查詢資料,但是我們通常查到的都是最大加速度,不適用于我們建模的問題。因此,一個簡單的方法就是請一個(甚至若干個)普通司機在與欲設計路障的環境相似的道路上模擬有路障的情況作為模擬,通過記錄行駛中的車速和對應的時間來求出加速度。
? 現假設我們已經得到了兩個表格,分別為加速行駛的測試數據與減速行駛的測試數據:
表1 加速行駛的測試數據| 時間(s) | 0 | 1.6 | 3.0 | 4.2 | 5.0 |
| 時間(s) | 0 | 2.2 | 4.0 | 5.5 | 6.8 |
? 【模型假設】①我們假設汽車通過每個路障時速度均為零;
? ②我們假設汽車加速時一定做勻加速運動,汽車減速時一定做勻減速運動,汽車不做勻速運動。
? 【模型建立】記汽車加速行駛的舉例為s1,時間為t1,加速時的加速度為a1,減速行駛的舉例為s2,減速時的加速度為a2,限速為vmax,則根據物理定律,可知
s1=12a1t12,s2=12a2t22①s_1=\frac{1}{2}a_1t_1^2,s_2=\frac{1}{2}a_2t_2^2① s1?=21?a1?t12?,s2?=21?a2?t22?①
vmax=a1t1,vmax=a2t2②v_ {max}=a_1t_1,v_ {max}=a_2t_2② vmax?=a1?t1?,vmax?=a2?t2?②
s=s1+s2③s=s_1+s_2③ s=s1?+s2?③
? 聯立①~③,消去t1t2可得
s=vmax22(1a1+1a2)④s=\frac{v_ {max}^2}{2}(\frac{1}{a_1}+\frac{1}{a_2})④ s=2vmax2??(a1?1?+a2?1?)④
? 該式子為路障間距設計的數學模型。對于某個給定限速vmax的問題,我們可以由測試數據估計出兩個加速度a1和a2后,即可計算出路障間距s。
? 【模型計算】以速度v為橫坐標、時間t為縱坐標,將表1、表2的數據分別用MATLAB做成散點圖,并用最小二乘法求出回歸曲線:
%表1 clear X=[0,2.7,5.5,8.3,11.1]; %把速度單位換算成了m/s Y=[0,1.6,3.0,4.2,5.0]; coefficient=polyfit(X,Y,1); y1=polyval(coefficient,X); plot(X,Y,'o',X,y1,'-') %表2 clear X=[11.1,8.3,5.5,2.7,0]; %把速度單位換算成了m/s Y=[0,2.2,4.0,5.5,6.8]; coefficient=polyfit(X,Y,1); y1=polyval(coefficient,X); plot(X,Y,'o',X,y1,'-')? 則求出的散點圖和回歸曲線折線圖如下圖所示。
? 由MATLAB的運行結果,可以求出coefficient分別為[0.4529,0.26]和[-0.6082,7.0575],即兩個回歸方程分別為
v1=0.4529t+0.26v_1=0.4529t+0.26 v1?=0.4529t+0.26
v2=?0.6082t+7.0575v_2=-0.6082t+7.0575 v2?=?0.6082t+7.0575
? 即
a1=0.4529m/s2,a2=?0.6082m/s2a_1=0.4529m/s^2,a_2=-0.6082m/s^2 a1?=0.4529m/s2,a2?=?0.6082m/s2
? 帶入④式,可知
s=(40÷3.6)22(0.4529+0.6082)=65.37ms=\frac{(40\div3.6)^2}{2}(0.4529+0.6082)=65.37m s=2(40÷3.6)2?(0.4529+0.6082)=65.37m
1.5 數學建模的一般步驟
? ①模型準備:了解問題的實際背景,搜集必要的信息,盡量弄清對象的主要特征,形成一個比較清晰地問題,由此初步確定要使用哪一類模型。
? ②模型假設:根據對象的特征和建模的目的,抓住問題本質,選擇性地忽略次要因素,作出必要的、合理的假設。
? ③模型構成:根據所做的假設,用數學語言、符號來描述對象的內在規律,建立包含常量、變量等數學模型。需要遵循的一個原則是:盡量使用簡單的數學工具。
? ④模型求解:可以通過解方程、畫圖形、優化方法、數值計算、統計分析等各種數學方法,特別是數學軟件和計算機技術來求解。
? ⑤模型分析:如誤差分析、統計分析、模型對數據的靈敏性分析愛、對假設的強健性分析等。
? ⑥模型檢驗:把求解和分析的結果翻譯回實際問題,對比結果與實際情況是否合理、是否適用。
④模型求解:可以通過解方程、畫圖形、優化方法、數值計算、統計分析等各種數學方法,特別是數學軟件和計算機技術來求解。
? ⑤模型分析:如誤差分析、統計分析、模型對數據的靈敏性分析愛、對假設的強健性分析等。
? ⑥模型檢驗:把求解和分析的結果翻譯回實際問題,對比結果與實際情況是否合理、是否適用。
總結
以上是生活随笔為你收集整理的第一章 建立数学模型的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2010年的读书计划
- 下一篇: dos启动停止服务