matlab程式设计进阶篇物件导向程式设计内容摘要:

lynom(p)。 q = polynom(q)。 k = length() length()。 r = polynom([zeros(1,k) ] [zeros(1,k) ])。 MATLAB 程式設計進階篇: 物件導向程式設計  有了這兩個函式之後,我們就可以來測詴多項式的加減法,如下:  範例 157: 152 運算元的重載 p = polynom([3 4 2 1])。 q = polynom([1, 2])。 r = p + q s = r + [2, 3] r = 3*x^3 + 4*x^2 + 1*x^1 + 3*x^0 s = 3*x^3 + 4*x^2 + 3*x^1 + 6*x^0 MATLAB 程式設計進階篇: 物件導向程式設計  接著可以賦予乘法與除法能夠針對多項式物件進行運算,所需定義的函式是 及 ,內容分別列出如下:  範例 158: @polynom/ 152 運算元的重載 function r = mtimes(p, q) % POLYNOM/MTIMES Implement p*q for polynoms. p = polynom(p)。 q = polynom(q)。 r = polynom(conv(, ))。 MATLAB 程式設計進階篇: 物件導向程式設計  範例 159: @polynom/ 152 運算元的重載 function [q, r] = mrdivide(a, b) % POLYNOM/MRDIVIDE Implement a/b for polynoms. a = polynom(a)。 b = polynom(b)。 [q, r] = deconv(, )。 q = polynom(q)。 r = polynom(r)。 MATLAB 程式設計進階篇: 物件導向程式設計  有了這些函式之後,就可以對多項式進行加減乘除等四則運算了,請見下列範例:  範例 1510: @polynom/ 152 運算元的重載 p = polynom([1, 1])。 q = polynom([1, 2])。 r = (p+1)*(q+2) [a, b] = r/[1, 1] r = 1*x^2 + 6*x^1 + 8*x^0 a = 1*x^1 + 5*x^0 b = 0*x^2 + 0*x^1 + 3*x^0 MATLAB 程式設計進階篇: 物件導向程式設計  在前述範例中,使用 用來定義「右除」(例如 p/q)  也可以使用 來定義「左除」(例如 p\q)  此外,還可以使用 ,例如 p^n。 MATLAB 運算元與物件函式之間的對應關係,請見下 152 運算元的重載 MATLAB 程式設計進階篇: 物件導向程式設計 152 運算元的重載 MATLAB 程式設計進階篇: 物件導向程式設計  常用在多項式的操作包含求值、求根、微分、積分等,這些操作我們都可以看成是多項式物件的方法( Methods)。  每一個方法都對應到 @polynom 目錄下的一個函式。  這些函式只能應用於我們所定義的多項式物件。 153 物件的方法 MATLAB 程式設計進階篇: 物件導向程式設計  一個最簡單的方法,就是要取用多項式物件的係數,可以靠下列函式來完成:  範例 1511: @polynom/  經由此函式(或方法),外部世界才能取得一個多項式物件的係數。 153 物件的方法 function c = polyCoef(p) % POLYNOM/POLYCOEF Convert polynom object to coefficient vector. c =。 MATLAB 程式設計進階篇: 物件導向程式設計  若要計算多項式的值,我們可以採用下列函式:  範例 1512: @polynom/  在上述函式中,我們直接呼叫 MATLAB 原有的函式 polyval 來計算多項式的值 153 物件的方法 function y = polyval(p, x) % POLYNOM/POLYVAL POLYVAL(p, x) evaluates p at the points x. y = polyval(, x)。 MATLAB 程式設計進階篇: 物件導向程式設計  MATLAB 能夠根據資料型態的不同來呼叫不同的函式,這也是屬於函式重載功能的體現  欲測詴此方法,請見下例範例:  範例。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。