Introduction to Scientific Computing
科學計算導論 期中考 A 卷
Name:
Student ID number:
Guidelines for the test:
• 在每頁最上方寫上你的學號或姓名
• 共四題, 第一題為是非題, 第二題為選擇題, 這兩題皆無部份分數. 第三題為計算題, 請把最後結果清楚 標示. 第四題為 programming.
• 第四題分兩部分:
1. (a) 部份計算使用幾個初始值時的數值解.
2. (b) 部份為作圖題. 完成後, 請找助教或老師協助將學號打在圖上由印表機印出.
• 請先執行sample.m, 確認程式可以正確執行.將 sample.m 及 myf.m 另存新檔後, 再開始寫.
• 交卷前, 程式請放入一資料夾中再壓縮成一壓縮檔(以學號為檔名), 再存入助教的隨身碟中.
科學計算導論 期中考 A卷 Student ID number:
1. (10 pts) 考慮一 LC(電感電容) 電路. 假設電路中的電容為C, 電感為L而電路中電流為i, 其中電
流i(t)為時間的函數且滿足以下的微分方程: d2
dt2i(t) + 1
LCi(t) = 0.
各物理量的因次分別為: 時間[t] = T , 電流[i] = I, 電容[C] = V−1IT , 電感[L] = V I−1T (註V是電壓的因次). 請回答以下五個是非題 (True ⇒ ° ; False ⇒ ×):
LC 電路中電流隨時間變化的情形與(無磨擦)彈簧系統位移隨時間變化的情形類似.
電流隨時間變化是一週期性運動且週期為LC.
我們只需要分析 d2
dt2i(t) + i(t) = 0這個方程就夠了. 其他不同L,C的系統可以經過
scaling(縮放/變數變換) 的技巧得到.
電流隨時間變化是一週期性運動且初始電流越大週期越小.
電流隨時間變化是一週期性運動且初始電流越大週期越大.
2. (10 pts) 二次大戰期間一位英國流體力學學者 G.I.Taylor 使用因次分析 (Dimensional Anal- ysis) 得到了原子彈爆炸時, 球形震波半徑與時間的關係. 相關的物理量有: 球形震波半徑 R, 時間 t,
原子彈釋放的能量 E及初始的空氣密度ρ0. 各物理量的因次分別為: 半徑[R] = L, 時間[t] = T , 能 量[E] = M L2T−2及初始的空氣密度[ρ0] = M L−3. 請問該學者得到的公式為何? (註: c為一無因 次常數) Hint: 檢查因次(dimension)
(A) R = cE2/5ρ2/50 t−3/5, (B) R = cE2ρ−20 t3, (C) R = cE1/5ρ−1/50 t2/5, (D) R = cEρ−10 t2. 3. (20 pts) 考慮以下系統
dx
dt = 2x− x2− xy, dy
dt =−y + xy,
求系統的 (三個) 平衡點並分析各平衡點的(線性) 穩定性為下表六種中的那一種
(a) unstable node, (b) stable node, (c) saddle point (unstable), (d) unstable spiral, (e) stable spirals (f) center .
Hint:
• (Linear Stability Analysis)先找出系統在平衡點附近的Jacobi matrix. 再由Jacobi matrix的特徵值判斷穩定性.
• 例如
{ dx
dt = 2x− x2,
dy
dt = y, 在平衡點(0, 0)的 Jacobi matrix 為
( 2 0 0 1
)
, 特徵值 為2, 1. 該非線性系統在平衡點(2, 0)附近的行為與
{ dx
dt = 2x,
dy
dt = y, 相似,故平衡點(0, 0)為
unstable node.
Page 1
科學計算導論 期中考 A卷 Student ID number:
Ans:
• 點一: ;穩定 /不穩定;六種模式中的哪一種: ,
• 點二: ;穩定 /不穩定: 六種模式中的哪一種: ,
• 點三: ;穩定 /不穩定: 六種模式中的哪一種: ,
計算過程:
Page 2
科學計算導論 期中考 A卷 Student ID number:
4. (60 pts) 提供的sample.m 及myf.m 是以matlab內建的 ode45解以下初始值問題(Initial Value Problem) 的 matlab 程式:
dx
dt = y, 0 < t < 40, dy
dt =−ω20x, x(0) = x0, y(0) = y0,
請參考 sample.m 及 myf.m 寫出一個 Matlab 的程式以內建的 ode45解以下 Population model:
dx
dt = 2x− x2− xy, 0 < t < 10, dy
dt =−y + xy, x(0) = x0, y(0) = y0,
(a) 針對下列幾個不同初始值,使用你的程式計算數值解在T = 10的值:
• (x0, y0) = (1, 0), x(10) = , y(10) = ,
• (x0, y0) = (2, 2), x(10) = , y(10) = ,
(b) 令(x0, y0) = (2, 2), 將數值解x(t)與y(t)對時間作圖(以不同種線畫在同一張圖)
• 使用 legend功能,正確標示x(t)與y(t)
• 正確標示 x-axis 與 y-axis (xlabel,ylabel): x 軸為 Time; y軸為 population.
• 完成後, 請助教或老師協助將學號打在圖上由印表機印出.
• 程式請放入一資料夾中再壓縮成一壓縮檔 (以學號為檔名), 再存入助教的隨身碟中. Tips for programming:
(a) 可以參考第三題的結果來判斷程式的結果是否合理
(b) 檢查 (大, 中, 小)括弧有沒有打錯, 有沒有成對. (c) 如果一直找不到錯誤, 建議重新寫.
Page 3