Chapter 15: Exercises

  1. 請修改本章所用的 polyAsString.m 函式,使其能夠產生更接近我們實際使用的多項式外觀。
  2. 請在我們的多項式物件的範例中,加入對下列兩個運算元的重載:
    1. 冪次方:對應的函式是 mpower.m,可用來計算 p^n。
    2. 左除:對應的函式是 mldivide.m,可用來計算 q\p,亦即 p/q。
    3. 請說明你如何測試這兩個運算元以及相關的測試結果。
  3. 請寫一個多項式物件的方法 residue.m,可以對一個分式進行部分分式展開。使用你所寫的函式來計算下列運算式的部分分式展開: $$ \frac{3s^2+5s+2}{(s+1)^3(s^2+1)} $$ 同時再利用 residue 指令,驗算所得答案是否正確。

    Hint
    請查看 residue 的線上說明,或參考本書第七章「多項式的處理與分析」。

  4. 請寫一個多項式物件的方法 polyMax.m,可以找出多項式的極大值。(請先算出多項式的導函數,求其零點,再判斷何者為極大值。)
  5. 請修改 team 類別,使其建構函式可以接受任意數量的隊員。請寫一個測試程式來說明你的修改可以產生正確的結果。
  6. 請設計兩個類別,分別是 student 和 course,其中學生可以選修數門課程。請設計相關的性質與方法,以便記錄重要資訊,並計算下列事項:
    1. 一個學生選修課程的總數。
    2. 一個學生選修課程的總學分數。
    3. 一個學生選修課程的分數平均。
    4. 一門課程被幾位學生所選修。
    5. 一門課程的通過率(分數超過或等於60分的學生比率)。
    請寫一段測試程式來說明你的程式碼正確無誤。

MATLAB程式設計:進階篇