MATLAB 程式設計:進階篇 多項式的處理與分析

Slides:



Advertisements
Similar presentations
發現生命的力量 — 陳樹菊阿嬤,來了 … 《不凡的慷慨》書籍賞析. 你所知道的陳樹菊  2010 《富比世》雜誌亞洲慈善英雄! 2010 美國《時代》雜誌最具影響力百大人物! 《讀者文摘》亞洲英雄!  導演李安﹕「她的生活稱不上富裕,仍然陸續捐贈 了將近一千萬台幣幫助數個不同的單位 … 」
Advertisements

1/67 美和科技大學 美和科技大學 社會工作系 社會工作系. 2/67 社工系基礎學程規劃 ( 四技 ) 一上一下二上二下三上 校訂必修校訂必修 英文 I 中文閱讀與寫作 I 計算機概論 I 體育 服務與學習教育 I 英文 II 中文閱讀與寫作 II 計算機概論 II 體育 服務與學習教育 II.
工職數學 第四冊 第一章 導 數 1 - 1 函數的極限與連續 1 - 2 導數及其基本性質 1 - 3 微分公式 1 - 4 高階導函數.
§ 3 格林公式 · 曲线积分 与路线的无关性 在计算定积分时, 牛顿 - 莱布尼茨公式反映 了区间上的定积分与其端点上的原函数值之 间的联系 ; 本节中的格林公式则反映了平面 区域上的二重积分与其边界上的第二型曲线 积分之间的联系. 一、格林公式 二、曲线积分与路线的无关性.
公司為社團法人 股東之人數 林宜慧 陳冠蓉. 公司之意義  根據公司法第一條規定 : 「本法所 稱公司,謂以營利為目的,依照 本法組織、登記、成立之社團法 人。」
專業科目必修 管理學概論、化 妝品行銷與管理、 專題討論、藥妝 品學、流行設計、 專題講座、時尚 創意造型與實務 專業科目必修 化妝品法規、生 理學、化妝品原 料學、化妝品有 效性評估、時尚 化妝品調製與實 務、藝術指甲、 生物化學概論、 美容經絡學、校 外實習 專業科目必修 應用色彩學、化 妝品概論、時尚.
聖若翰天主教小學 聖若翰天主教小學歡迎各位家長蒞臨 自行分配中一學位家長會 自行分配中一學位家長會.
認識食品標示 東吳大學衛生保健組製作.
第 5 章 中國的都市.
第二十三章 皮肤附属器疾病 主讲 朱姗姗.
MATLAB 程式設計 時間量測 清大資工系 多媒體資訊檢索實驗室.
颞下颌关节常见病.
「健康飲食在校園」運動 2008小學校長高峰會 講題:健康飲食政策個案分享 講者:啟基學校-莫鳳儀校長 日期:二零零八年五月六日(星期二)
清代章回小說----儒林外史 製作群:侑桂、品希、萱容、怡靜、佩涓、凸凸.
致理科技大學保險金融管理系 實習月開幕暨頒獎典禮
☆ 104學年度第1學期 活動藏寶圖 ☆ II III IV V 找到心方向-談壓力調適 陳佩雯諮商心理師
營利事業所得稅查核準則 相關概念介紹 南區國稅局 新營分局 林俊標 各位學員大家好:
脊柱损伤固定搬运术 无锡市急救中心 林长春.
MATLAB 程式設計進階篇 曲線擬合與迴歸分析
行政訴訟法 李仁淼 教授.
第一节 工业的区位选择 一、工业的主要区位因素 1、工业区位选择应注意的问题 2、影响工业布局的主要区位因素 3、不同工业部门的区位选择
XXX分析室组长竞聘 演讲人: XXX
結腸直腸腫瘤的認知.
經歷復活的愛 約翰福音廿一1-23.
郭詩韻老師 (浸信會呂明才小學音樂科科主任)
如何培養你的道德風度? 什麼是公德心? 何謂自覺運動? 好心被雷劈?
《政府采购非招标采购方式管理办法》的理解与适用
學 號:997I0010、997I0024 組 員:洪韋鈴、王婷婷 日 期: 指導老師:王立杰 老師
古文閱讀 – 像虎伏獸 明 劉基 組員: 5號江依倫 6號江若薇 12號張珉芫 32號蔡燕如.
務要火熱服事主.
作业现场违章分析.
蒙福夫妻相处之道 经文:弗5:21-33.
基于课程标准的教学与评价: 政策执行讲评与后续要求
2. 戰後的經濟重建與復興 A. 經濟重建的步驟與措施 1.
好好學習 標點符號 (一) 保良局朱正賢小學上午校.
公司法(六) 股份有限公司 1.
第四章 地理資訊與地理資訊系統.
4. 聯合國在解決國際衝突中扮演的角色 C. 聯合國解決國際衝突的個案研究.
6.5滑坡 一、概述 1.什么是滑坡? 是斜坡的土体或岩体在重力作用下失去原有的稳定状态,沿着斜坡内某些滑动面(滑动带)作整体向下滑动的现象。
新陸書局股份有限公司 發行 第十九章 稅捐稽徵法 稅務法規-理論與應用 楊葉承、宋秀玲編著 稅捐稽徵程序.
破漏的囊袋.
民法第四章:權利主體 法人 楊智傑.
Methods 靜宜大學資工系 蔡奇偉副教授 ©2011.
Introduction to MATLAB
四年級 中 文 科.
Ch2多項式函數 2-2 多項式的運算與應用 影音錄製:陳清海老師 資料提供:龍騰文化事業股份有限公司.
Ch2多項式函數 2-2 多項式的運算與應用 影音錄製:陳清海老師 資料提供:龍騰文化事業股份有限公司.
張智星 清大資工系 多媒體檢索實驗室 MATLAB 程式設計進階篇 線性代數 張智星 清大資工系.
聖本篤堂 主日三分鐘 天主教教理重温 (94) (此簡報由聖本篤堂培育組製作).
MATLAB 程式設計入門篇 二維平面繪圖 (part2)
聖誕禮物 歌羅西書 2:6-7.
Definition of Trace Function
張智星 清大資工系 多媒體檢索實驗室 Tree Net Construction 張智星 清大資工系.
學這些有什麼好處呢? 為了把資料作更客觀之總結描述或比較多組資料。總而言之,就是要找出一個數能代表整組數據。
「傳心傳意 2003」 工商機構創意義工服務計劃比賽 計劃主題 : ( I ) 減少廢物 ( II ) 節省能源 ( III ) 愛護大自然
 多項式的除法 x3 + 2x2 – 5x + 6 = (x – 1)(x2 + 3x – 2) + 4 被除式 除式 商式 餘式
圣依纳爵堂 主日三分钟 天主教教理重温 (95) (此简报由香港圣本笃堂培育组制作).
MATLAB 程式設計進階篇 多項式的處理與分析
第4章 MATLAB数值运算 编者.
例題 1. 多項式的排列 1-2 多項式及其加減法 將多項式 按下列方式排列: (1) 降冪排列:______________________ (2) 升冪排列:______________________ 排列 降冪:次數由高至低 升冪;次數由低至高.
依撒意亞先知書 第一依撒意亞 公元前 740 – 700 (1 – 39 章) 天主是宇宙主宰,揀選以民立約,可惜他們犯罪遭
3.1 矩陣的行列式 3.2 使用基本運算求行列式 3.3 行列式的性質 3.4 特徵值介紹 3.5 行列式的應用
3-3 随机误差的正态分布 一、 频率分布 在相同条件下对某样品中镍的质量分数(%)进行重复测定,得到90个测定值如下:
基督是更美的祭物 希伯來書 9:1-10:18.
明愛屯門馬登基金中學 中國語文及文化科 下一頁.
經文 : 創世紀一章1~2,26~28 創世紀二章7,三章6~9 主講 : 周淑慧牧師
圣经概論 09.
ABC ( )已知 ,則下列哪些是x6-7x5-8x4 的因 式?(複選) (A) x+1 (B) 2x+2 (C) x3(x+1)
Presentation transcript:

MATLAB 程式設計:進階篇 多項式的處理與分析 張智星 (Roger Jang) jang@mirlab.org http://mirlab.org/jang 台大資工系 多媒體檢索實驗室

7-1多項式的加減乘除 n 次多項式的表示法 MATLAB 中,用 n+1 的列向量表示 p(x) Ex. p = [1,2,3,1] 表示一個三次多項式

多項式的加減 (I) 計算其和與差 多項式的加減,直接由向量的加減推出 兩多項式, 及 範例7-1:polyPlus.m 兩多項式, 及 計算其和與差 範例7-1:polyPlus.m p1 = [1,0,1,1]; p2 = [0,1,-1,2]; p1 + p2 p1 - p2

多項式的加減 (II) 矩陣 p1 與 p2 的長度要一致,否則 MATLAB 會產生運算錯誤的訊息 ans = 1 1 0 3 1 1 0 3 1 -1 2 -1 矩陣 p1 與 p2 的長度要一致,否則 MATLAB 會產生運算錯誤的訊息

多項式的乘除 (I) 多項式的乘除,使用 conv 及 deconv 指令達成 欲求多項式 與 的乘積 以多項式的表示法,為 欲求多項式 與 的乘積 範例7-2:conv01.m 以多項式的表示法,為 p1 = [1, 0, 1, 1]; p2 = [0, 1, -1, 2]; p3 = conv(p1, p2) p3 = 0 1 -1 3 0 1 2

多項式的乘除 (II) 欲求 除以 的商式與餘式 代表 除以 ,得到商式 ,餘式 範例7-3:deconv01.m 欲求 除以 的商式與餘式 範例7-3:deconv01.m 代表 除以 ,得到商式 ,餘式 p1 = [1, 0, 1, 1]; p2 = [1, -1, 2]; [q, r] = deconv(p1, p2) q = 1 1 r = 0 0 0 -1

多項式的加減乘除 函數 說明 p1 + p2 多項式 與 的和 p1 - p2 多項式 與 的差 conv(p1, p2) 多項式 與 的和 p1 - p2 多項式 與 的差 conv(p1, p2) 多項式 與 的乘積 [q, r] = deconv(p1, p2) 多項式 除以 ,得到商式為 ,餘式為

7-2 多項式的求值、求根 、微分與積分 計算多項式的值,使用 polyval 指令 範例7-4:polyval01.m x = 0:0.1:3; y = polyval(p, x); plot(x, y, '-o');

計算多項式的值-1 x 和 y 是長度為 31 的向量,y(i) 的值為      在 x = x(i) 的函數值

計算多項式的值-2 計算p(A),A為方陣,可用polyvalm指令 範例7-5:polyvalm01.m 結果和 B = A^2 + 2*A + 1 相同 p = [1 2 1]; A = [1 2; 3 4]; B = polyvalm(p, A) B = 10 14 21 31

計算多項式的根 (I) 多項式的根,可用 roots 指令求得 多項式 的根 範例7-6:roots01.m 多項式 的根 範例7-6:roots01.m p = [1, 3, 1, 5, -1]; % 多項式 r = roots(p); % 求多項式的根 r = -3.2051 0.0082 + 1.2862i 0.0082 - 1.2862i 0.1886

計算多項式的根 (II) 為驗證此四根,可輸入如下 範例7-7:roots02.m p = [1, 3, 1, 5, -1]; % 多項式 r = roots(p); % 求多項式的根 polyval(p, r); % 將根帶入多項式求值 ans = 1.0e-012 * 0.1465 -0.0135 + 0.0271i -0.0135 - 0.0271i 0.0002

提示 fzero指令: Roots指令: 用於一般函數的求根 一次只找一個根 使用牛頓法 只用於多項式求根 一次找到全部的根 將多項式表示成「伴隨矩陣」(Companion Matrix),再用解特徵值方法求根

多項式的微分 求多項式的微分,使用指令polyder 範例7-8:polyder01.m 表示 微分後的結果為 p = [1 3 3 1]; 表示 微分後的結果為 p = [1 3 3 1]; q = polyder(p) q = 3 6 3

多項式的積分 (I) MATLAB 6.x 以後已經提供 polyint 指令 範例7-9:polyint02.m 表示 積分後為 表示 積分後為 p = [4 3 2 1]; k = 8; % 積分後的不定常數 q = polyint(p, k) % 積分後的多項式 q = 1 1 1 1 8

多項式的積分 (II) MATLAB 5.x 並無對多項式積分的指令 用其它方法達成積分 範例7-10:polyint01.m t = length(p):-1:1; k = 8; % 積分後的不定常數 q = [p./t, k] % 積分後的多項式 q = 1 1 1 1 8

多項式的值、根、積分、微分 函數 說明 q = polyval(p, x) 計算 p(x) 的值。 q = polyvalm(a, A) 計算 p(A),A 為一方陣。 q = polyder(p) q(x) 為 p(x) 的微分。 q = [p./length(p):-1:1, k] q(x) 為 p(x) 的積分,其中 k 為任意常數。 q = polyint(p, k) q(x) 為 p(x) 的積分,其中 k 為任意常數。(本指令只適用於 MATLAB 6.x 以後的版本。)

矩陣的特徵多項式 給定一方陣 A,其特徵多項式為 使用 poly 指令計算特徵多項式 即為矩陣 A 的特徵多項式 範例7-11:poly01.m 即為矩陣 A 的特徵多項式 A = [1 3 4; 2 4 1; 1 6 2]; p = poly(A) p = 1.0000 -7.0000 -2.0000 -25.0000

矩陣的特徵值 特徵多項式的根即為矩陣 A 的特徵值 範例7-12:poly02.m A = [1 3 4; 2 4 1; 1 6 2]; p = poly(A); % 方陣的特徵多項式 r = roots(p); % 特徵方程式的根,亦即固有值 det(A-r(1)*eye(3)) det(A-r(2)*eye(3)) det(A-r(3)*eye(3)) ans = -9.5707e-014 ans = -2.5292e-014 - 1.5899e-015i ans = -2.5292e-014 +1.5899e-015i

提示 特徵方程式的根會讓 ,也是方陣 A 的特徵值或固有值(Eigenvalues)的定義 可用eig指令來計算方陣 A 的特徵值及特徵向量

7-4 部份分式展開 指令 residue 計算一分式的部份分式展開 A(s) 和 B(s) 為多項式,且 B(s) 無重根 分式 可以表示為 , ,…, 為 的根(或 的極點) , ,…, 為常數 為一多項式

多項式部份分式展開 (I) 欲求 的部份分式展開 範例7-13:residue01.m b = [3 8]; a = [1 5 6]; 欲求 的部份分式展開 範例7-13:residue01.m b = [3 8]; a = [1 5 6]; [r, p, k] = residue(b, a)

多項式部份分式展開 (II) 由以結果得知, 。 r = 1.0000 2.0000 p = -3.0000 -2.0000 k = []

提示 部份分式展開特別適用於線性系統之轉換函數(Transfer Function)的分析 若 為一系統之轉換函數,經由上述部份分式展開後,可知其脈衝響應(Impulse Response)為

多項式部份分式還原 residue 指令將部份分式轉回原來的形式 範例7-14:residue02.m 將部份分式結合成單一分式: p = [-3 -2]; k = []; [b2, a2] = residue(r, p, k) b2 = 3 8 a2 = 1 5 6

7-5多項式擬合 曲線擬合(Curve Fitting) 資料分析上常用的方法 以一參數化的曲線逼近一組給定的資料點 若參數化的曲線是一多項式,此曲線擬合稱為多項式擬合(Polynomial Fitting) polyfit 指令用以進行多項式擬合

多項式擬合範例 (I) 美國人口在1790至1990(10年一期)資料 範例7-15:plotCensus.m load census.mat plot(cdate, pop, 'o'); xlabel('年份'); ylabel('人口(單位:百萬)');

多項式擬合範例 (II)

多項式擬合範例 (III) 欲預測美國在西元 2002 年的總人口,使用 polyfit 找出多項式逼近已知的資料點 範例7-16:polyfit01.m load census.mat plot(cdate, pop, 'o'); p3 = polyfit(cdate, pop, 3); cdate2 = 1790:2002; pop2 = polyval(p3, cdate2); plot(cdate, pop, 'o', cdate2, pop2, '-'); xlabel('年份'); ylabel('人口(單位:百萬)'); legend('實際人口', '預測人口'); popAt2002 = polyval(p3, 2002)

多項式擬合範例 (IV) 此曲線預測在 2002 年美國人口約為 282.5 百萬人 population = 282.5332

不同次數的比較 (I) 不同的次數進行多項式擬合,「外插」(Extrapolation)時得到的差異相當大 範例7-17:polyfit02.m load census.mat cdate2 = min(cdate):(max(cdate)+30); curve = zeros(7, length(cdate2)); for i = 1:7 curve(i,:) = polyval(polyfit(cdate,pop,i), cdate2); end plot(cdate, pop,'o', cdate2, curve); legend('實際資料', 'order=1', 'order=2','order=3', 'order=4', 'order=5', 'order=6', 'order=7'); xlabel('年份'); ylabel('人口(單位:百萬)');

不同次數的比較 (II) 次數越高,越能逼近給定的資料 不表示預測的準確度會提高 高次多項式對雜訊(Noise)敏感度較高,容易產生不準確的外插預測

多項式擬合的誤差及錯誤 上述範例中,常出現 MATLAB 警告訊息 表示實際資料的不足 或資料數值範圍的過大或過小 在進行多項式擬合時,最好先將資料進行必要的平移、放大或縮小範圍