四、 數學建模和資訊科技的結合
4.3 Scilab
4.3.1 Scilab 中的矩陣運算介紹
1. 矩陣的輸入
例如要建立一個
=
9 8 7
6 5 4
3 2 1
A 的矩陣,則直接輸入以下這個指令:
[A]=[1, 2, 3 ; 4, 5, 6; 7, 8, 9]
,結果如圖 4-3-2 所示圖 4-3-2 Scilab 輸入矩陣
2. 取矩陣中的某一行向量
例如要取 A 的第三行,並命名為 V 向量,則輸入
V=A( : , 3)
3. 求矩陣的某一列之總和
例如要求第三列的總和,則輸入
sum( A ( 3 , : ))
4. 將矩陣的某一列乘以一個數
例如將矩陣的第二列中每個元乘以 2,則輸入
A( 2, : ) = A( 2 , : ) * 2
圖 4-3-3 Scilab 矩陣中列運算 5. 將某一列乘以一個數加到另一列
例如將 A 的第一列乘以 - 8 加到第二列,則輸入
A(2, : ) = A(1, :)*( -8)+A(2, : )
圖 4-3-4 Scilab 矩陣中列運算 6. 矩陣相乘
例如 1 0 1 2 1 1
B
= − ,計算 B*A
圖 4-3-5 矩陣相乘
4.3.2 數學建模中運用 數學建模中運用 數學建模中運用 Scilab 軟體 數學建模中運用 軟體 軟體- 軟體 - - -賽揚 賽揚 賽揚 賽揚獎模型 獎模型 獎模型 獎模型
旅美職棒好手王建民去年表現大放異彩,拿下美國聯盟勝投王(與 Santana 並列),
甚至有機會問鼎投手的最高榮譽-賽揚獎。表 4-3-1 中是 2006 年美國聯盟勝投數前 三名的投手之主要紀錄,試建立一個數學模型說明誰最有機會得獎。
表 4-3-1 投手表現紀錄
Player 勝投數 防禦率 投球局 WHIP K/9 J Santana 19 2
.
77 233.
2 1.
0 9.
4 C Wang 19 3.
63 218 1.
3 3.
1 J Garland 18 4.
51 211.
1 1.
4 4.
8 F Garcia 17 4.
53 216.
1 1.
3 5.
6 R Johnson 17 5 205 1.
2 7.
6 K Rogers 17 3.
84 204 1.
2 4.
4 J Verlander 17 3.
63 186 1.
3 6.
0【思維分析】首先要對這些棒球統計資料的專有名詞加以了解,這些資料的意義及計 算公式如下:
a. 防禦率(ER)=
投球局數 責任失分 9×
,亦即代表投手平均在投九局的情況下,扣除隊友失誤 因素後,投手本身被對方得到的分數,這個值愈低愈好。
b. K/9 =
投球局數 三振數 9×
。代表投手平均一場球(九局)中,可以用三振製造出局數的能力,
一位強力投手通常具備很好的三振能力。
c. WHIP=
投球局數 保送數
被安打數 )
( +
。代表投手平均在一局中被對方上壘的人數。
賽揚獎(Cy Young Award)指的是美國職棒大聯盟每年頒給投手的一項榮耀。這 個獎項最初是於 1956 年由會長福特·弗立克(Ford Frick)所提議,用來紀念 1955 年 過世的棒球名人堂投手賽·揚(Cy Young)。最初的 11 年(1956 年至 1966 年)間,兩 個聯盟每年只選出一位受獎者。當弗立克於 1967 年退休後,就變成每個聯盟各選出
一位受獎者。
這個獎項是由全美棒球記者協會(Baseball Writers Association of America,簡稱 BBWAA)的 28 個成員所票選出來的。每個成員選出自己心目中各個聯盟最好的前三
(2) 建立模糊綜合判斷矩陣
令
∑
=
=
51 j
ij j
i
a r
b .
, 得B = [0
.
328, 0.
097, 0.
089, 0.
113, 0.
142, 0.
102, 0.
128]圖 4-3-8 用 Scilab 計算最後結果 (4) 結果說明:
從原始數據來看,Santana 表現都是所有人之冠,得獎是意料中之事,最後投票結 果也確實是 Santana 獲得這個獎項。而王建民得分與 Santana 相差許多,只勝過 Garland,主要在於三振數太低。若將勝投數權重加大,令 A=[2, -1, 1, -1, 0.5],重 新計算結果,得到
B = [ 0.367, 0.213, 0.176, 0.181, 0.186, 0.185, 0.192 ]
這樣的結果似乎比較合理些。
(5) 模型檢驗:
以 2004 年的美國聯盟資料來驗證
表 4-3-2 2004 年投手表現紀錄
Player 勝投數 防禦率 投球局數 WHIP K/9 C Schilling 21 3.26 226.2 0.91 8.06
J Santana 20 2.61 228 0.68 10.46 B Colon 18 5.01 208.1 1.03 6.83 K Rogers 18 4.76 211.2 1.17 5.36
將表中的資料表示成矩陣形式Cij(i=1,2,3,4,5,6,7;j =1,2,3,4,5),得到
五 五 五
五、 、 、 、數學建模實例 數學建模實例 數學建模實例 數學建模實例
5.1 最優化模型 最優化模型 最優化模型 最優化模型
現實生活中,許多問題都存在一個最佳狀態的解,例如最短路徑、最少時間、最 大收益…等,在資源有限、空間有限的情況下,得到最佳化結果是現代化社會所追求 的目標。日常生活中,所看到所用到的東西,在我們沒注意到的地方或許都隱藏著設 計者的巧思。例如從物品的形狀來說,為什麼馬路上的人孔蓋是設計成圓形較好,而 不是方形?為什麼金屬罐飲料是設計成圓柱體,鋁箔包飲料是長方體?從尺寸來說,
為什麼同樣 355 毫升的易開罐飲料幾乎都差不多大小?
每種求最佳解的方法往往都成為數學的一門分枝,或是需要綜合幾個不同的領 域,形成一個新的數學領域,其中有許多問題已經被研究出來,成為經典案例。
5.1.1 單變數函數的極值 單變數函數的極值 單變數函數的極值 單變數函數的極值
一個典型的問題是:「一條長度 l 的繩子,將其圍成矩形,面積最大是多少?」
這個題目很容易可以轉化為數學模型,在現實生活中可能出現的狀況就如同「95 年 大學入學指定考試數學乙」中的一道題目:「一農夫想用 66 公尺長之竹籬圍成一長 方形菜圃,並在其中一邊正中央留著寬 2 公尺的出入口。此農夫所能圍成的最大 面積為多少平方公尺?」不過,常常在我們面臨實際問題的時候,很多條件都是 模糊的,不是馬上就找到所需要用的數學方法。例如 2006 年「中國大學生數學建 模競賽」的試題 C,題目如下:
「我們只要稍加留意就會發現銷量很大的飲料 (例如飲料量為 355 毫升的可口可 樂、青島啤酒等) 的飲料罐(即易開罐)的形狀和尺寸幾乎都是一樣的。看來,這並非
偶然,這應該是某種意義下的最優設計。當然,對於單個的易開罐來說,這種最優設 計可以節省的錢可能是很有限的,但是如果是生產幾億,甚至幾十億個易開罐的話,
可以節約的錢就很可觀了。
現在就請你們小組來研究易開罐的形狀和尺寸的最優設計問題。具體說,請你們 完成以下的任務:
1.取一個飲料量為 355 毫升的易開罐,例如 355 毫升的可口可樂飲料罐,測量你們 認為驗證模型所需要的資料,例如易開罐各部分的直徑、高度,厚度等,並把資 料列表加以說明;如果資料不是你們自己測量得到的,那麼你們必須注明出處。
2.設易開罐是一個正圓柱體。什麼是它的最優設計?其結果是否可以合理地說明你 們所測量的易開罐的形狀和尺寸,例如說,半徑和高之比,等等。
3.設易開罐的中心縱斷面如下圖所示,即上面部分是一個正圓臺,下面部分是一個 正圓柱體。
什麼是它的最優設計?其結果是否可以合理地說明你們所測量的易開罐的形狀 和尺寸。
4.利用你們對所測量的易開罐的洞察和想像力,做出你們自己的關於易開罐形狀和 尺寸的最優設計。」
即便這個問題已經述敘很完整了,但該用哪些條件來解決問題並不算明確,需要 仔細思考推敲。其實這個問題在本質上仍和菜圃那道問題是相同的,也就是說要製造 355 毫升的飲料罐,形狀或尺寸要如何設計會讓使用材料最少?或者反過來,以同樣 的材料,要設計怎樣的形狀或尺寸的飲料罐,可以讓容積最大?
建立模型初步就是簡化題目的假設條件。恰如 1997 年「第一屆北京中學生數學
3
另外再配合使用 Excel 電子試算表,也能很快計算出大量的函數值加以觀察
旅遊折扣票價,免費交運的行李數為兩件,每件箱體三邊之和不超過 62 英寸(158
和有最大值。此時兩個箱子都是正立方體的形狀,一個邊長為 ≈ 規劃」(Linear Programming)來解。以95年「大學入學指定考試數學乙」中一題為例:
「為預防禽流感,營養師吩咐雞場主人每天必須從飼料中提供至少 84 單位的營養 素A、至少 72 單位的營養素B和至少 60 單位的營養素 C 給他的雞群。
這三種營養素可由兩種飼料中獲得,且知第一種飼料每公斤售價 5 元並含有 7 單位
A(0, 42)代入,P= 168
B(6, 21)代入,P= 30 + 84 = 114 C(18, 3)代入,P= 90 + 12 = 102 D(24, 0)代入,P= 120
故農場主人每天使用第一種飼料 18 公斤,第二種飼料 3 公斤,可以使得 花費最少,每天為 102 元。
5.2 微分方程與指數模型 微分方程與指數模型 微分方程與指數模型 微分方程與指數模型
在許多實際問題中,有時要直接找出變數之間的函數關係較為困難,但導出包含 未知函數的導數或微分的關係式較為容易時,可先列出微分方程式與初始值,再解微 分方程來得到所要求的函數模型。例如人口的成長、藥物在體內的分佈、傳染病的擴 散…等。
5.2.1 馬爾薩斯 馬爾薩斯 馬爾薩斯 (Malthus)模型 馬爾薩斯 模型 模型 模型
馬爾薩斯在分析人口出生與死亡情況的資料後發現,人口淨增長率 r 基本上是 一常數,假設 N( t )為時刻 t 的人口數,則 r
dt dN N1 ⋅ =
,可得到N(t)=N0er(t−t0),其 中 No=N( to )為初始時刻 t = to的人口數。
除了人口之外,放射性物質的質量變化、人體內藥物的吸收也都可由微分方 程的建立,得到指數形式的模型。其中,放射性物質的衰減率與尚存物質的原子 數成正比,而裡面藥物被吸收的速率與藥物的數量成正比。
在「第二屆北京中數學生數學知識競賽」中出了這樣一道試題:人們早就發 現了放射性物質的衰減現象,最常見的放射性物質之一是碳-14,他常用來確定有 機物的年代。比如,一段骨骼含少量的碳-14,它在骨骼的含碳量占有一定比例,
一旦有機物死亡,它就不能通過與外界環境的相互作用(例如呼吸)獲得碳-14,並 且還要不斷衰減。
已知放射性物質的衰減服從指數規律:C(t)=C0e−rt,其中 t 表示衰減的時間,
C0表示放射性物質的原始質量,C(t)表示經衰減了 t(年)後尚存的質量,e≒2.72 是 一個非常重要的常數。為計算衰減的年代,通常給出該物質質量衰減一半的時間,
稱其為該物質的半衰期,碳-14 的半衰期大約是 5730 年,由此可確定係數。人們又 知道,放射性物質的衰減速度是與其質量成正比的。
1950 年在巴比倫發現一根刻有 Hammurabi 王朝字樣的木炭,當時測定,其碳 -14 分子的衰減速度為 4.09(個/每克每分鐘),而新砍伐燒成的木碳-14 的衰減速度 為 6.68(個/每克每分鐘),請估算出其 Hammurabi 王朝所在年代。
【解】由碳-14 的半衰期為 5730 年,得到1 0 0 5730 2
C =C e− ×r 。將兩邊的 C0消掉,並
且取自然對數,得 1
ln 5730
2= − r,可以解出 r≈ 1.21×10-4。
再由題目所提供「放射性物質的衰減速度與其質量成正比」,不妨令 C0=6.68,
∴4.09=6.68e−rt。將等式兩邊同除以 6.68,再同時取自然對數,得到 4.09
ln6.68 = − 。 rt 將 r =1.21×10-4代入上式,最後得出 t≈ 4055。
因此 Hammurabi 王朝約在西元前 2100 年前。
以上的運算過程,可以用 Maxima 軟體來輔助,實作情形如圖 5-2-1 所示:
圖 5-2-1 用 Maxima 解方程式
5.2.2 Logistic 模型 模型 模型 模型
圖 5-2-2 Logistic 曲線
Logistic 模型用途十分廣泛,除了用於預測人口增長外,也可用於疾病傳播,謠 言的傳播,銷售預測等。但這個模型的最大缺點是飽和係數 K 的值不容易確定 (劉承 平,2002)。
在 92 年「大學推甄入學學科能力測驗」中,曾以這個模型當成命題的來源,
題目如下:「根據統計資料,在 A 小鎮當某件訊息發布後,t 小時之內聽到該訊息 的人口是全鎮人口的100(1 2 )%− −kt ,其中 k 是某個大於 0 的常數。今有某訊息,假 設在發布後 3 小時之內已經有 70%的人口聽到該訊息。又設最快要 T 小時後,有 99%的人口已聽到該訊息,則 T 最接近下列哪一個選項?」
另外在南一版的高中課本數學乙上冊中的一道題目,所用的也是Logistic模型,
另外在南一版的高中課本數學乙上冊中的一道題目,所用的也是Logistic模型,