matlab 求留数,用matlab求留数
《用matlab求留數》由會員分享,可在線閱讀,更多相關《用matlab求留數(3頁珍藏版)》請在金鋤頭文庫上搜索。
1、收稿日期: 2006) 05- 29作者簡介: 賈新民(1956) ), 男, 四川鄰水縣人, 副教授, 研究方向: 計算機應用1用 MATLAB求 留 數賈新民( 昌吉學院計算機工程系 新疆 昌吉 831100)摘 要: 文章給出了用 MATLAB求復變函數的留數的方法。關鍵詞:MATLAB; 復變函數; 高階極點; 留數中圖分類號: O174文獻標識碼: A文章編號: 1671- 6469(2006)03- 0101- 03Matlab 是集數值計算、 符號運算及圖形處理 等功能為一體的功能強大的科學計算平臺。Mat -lab 在高等數學、 力學、 機械、 電工、 信號處理、 自動控制等領。
2、域都有廣泛的應用。本文介紹利用 Matalb 求復函數留數的方法。1. 留數及其求法:留數又稱為殘數。復變函數 f( z) 在 p 點的留數定義為 f( z) 在 p 點羅朗展開中( z- p)- 1的系數c- 1。f( z) 在 p點的留數記為 res f ( p) 留數的求法: 設 z0是函數 f( z) 的 m( m 1) 階極點, 則Res f( p) =1 ( m- 1) !limzypdm- 1 dzm- 1 ( z- p)mf( z) 。( 1)下面通過例子說明幾種特殊情形下用Matlab求留數的方法。 2. f( z) 是有理分式的情形Matalab 的信號處理工具箱中的函數 。
3、residue的作用是求有理分式展開為部分分式時的展開系數, 巧妙地應用該函數, 可以求出有理分式的留數 ( 數值解) 。使用語法為 r, p = residue( 分子多項式, 分母多項式)其中 r 是部分分式的系數數組( 留數數組) , p 是極點數組。使用時需要注意, 當函數有重極點時, 對同一個極點 p, 存在幾個展開系數 r, 這幾個r 中只有與相同極點中第一個對應的 r 是( z-p)- 1的系數即與極點 p 對應的留數, 其余的不是留數。例1 求函數 f( z) =z+ 3 z2+ 3z+ 2的極點和留數。 解: matlab 程序及結果為a= 1, 3 ; b= 1, 3, 2。
4、 ; % a、 b 分別 是 f( z) 分子多項式和分母多項式的系數矩陣 r, p = residue( a, b) %r 和 p分別是 f( z)的留數數組和極點數組r =- 12p =- 2- 1從結果看出: res f( - 2) = - 1, res f( - 1) = - 2。例2 求函數 f( z) =z15 ( z2+ 1)2( z4+ 2)3在各極點的留數。解: 所給函數一共有 7 個極點: 以及 p= ? i, p=42e(P+ 2KP) i/4, ( k= 0, 1, 2, 3) 以及 p= 。用residue 函數時, 首先要將 f( z) 分母展開為多項式, 用手工展。
5、開是比較費事的。matlab 的信號處理工具箱中求卷積的函數 conv 可以用來進 行多項式乘積。用Matlab 求解該問題的程序和結101昌吉學院學報 2006 年第 3 期果如下:a= 1, 0, 1 ;a1= conv( a, a) ; a2= 1, 0, 0, 0, 2 ;a3= conv( a2, a2) ;a4= conv( a3, a2) ;a5= conv( a1, a4) % a5 是分母多項式 系數矩陣a5 =Columns 1 through 13 1 0 2 0 7 0 12 0 18 0 24 0 20Columns 14 through 170 16 0 8b= 1。
6、, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ; %分子多項式系數矩陣r, p = residue( b, a5) % 調用 residue 函數求極點和留數r = 0. 2037 +0. 1637i- 0. 0207 +0. 0976i- 0. 0139 +0. 0049i 0. 2037 - 0. 1637i- 0. 0207 - 0. 0976i- 0. 0139 - 0. 0049i0. 2037 - 0. 1637i 0. 0207 + 0. 0976i- 0. 0139 - 0. 0049i0. 2037 + 0. 1637i 0. 0。
7、207 - 0. 0976i- 0. 0139 + 0. 0049i0. 0926 + 0. 0000i- 0. 0000 + 0. 0093i 0. 0926 - 0. 0000i- 0. 0000 - 0. 0093ip =0. 8409 + 0. 8409i0. 8409 + 0. 8409i0. 8409 + 0. 8409i0. 8409 - 0. 8409i0. 8409 - 0. 8409i0. 8409 - 0. 8409i- 0. 8409 + 0. 8409i- 0. 8409 + 0. 8409i- 0. 8409 + 0. 8409i- 0. 8409 - 0. 840。
8、9i- 0. 8409 - 0. 8409i- 0. 8409 - 0. 8409i - 0. 0000 + 1. 0000i- 0. 0000 + 1. 0000i- 0. 0000 - 1. 0000i- 0. 0000 - 1. 0000i為了方便, 將最后結果重新排列為p = r=0. 8409 + 0. 8409i 0. 2037 + 0. 1637i0. 8409 + 0. 8409i - 0. 0207 + 0. 0976i0. 8409 + 0. 8409i - 0. 0139 + 0. 0049i0. 8409 - 0. 8409i 0. 2037 - 0. 1637i0. 。
9、8409 - 0. 8409i - 0. 0207 - 0. 0976i0. 8409 - 0. 8409i - 0. 0139 - 0. 0049i- 0. 8409 + 0. 8409i 0. 2037 - 0. 1637i- 0. 8409 + 0. 8409i 0. 0207 + 0. 0976i- 0. 8409 + 0. 8409i - 0. 0139 - 0. 0049i- 0. 8409 - 0. 8409i 0. 2037 + 0. 1637i- 0. 8409 - 0. 8409i 0. 0207 - 0. 0976i- 0. 8409 - 0. 8409i - 0. 01。
10、39 + 0. 0049i- 0. 0000 + 1. 0000i 0. 0926 + 0. 0000i- 0. 0000 + 1. 0000i - 0. 0000 + 0. 0093i- 0. 0000 - 1. 0000i 0. 0926 - 0. 0000i- 0. 0000 - 1. 0000i - 0. 0000 - 0. 0093i以上結果中左邊一列是函數的極點數組( n重極點算 n 個極點) , 右邊一列是部分分式的展開系數。由前所述, 只有與重極點 p 的第一行對應的 r 值( 即標有下劃線的值) 才是留數。即res f(42eiP/4) = 0. 2037+ 0. 1637i。
11、,res f(42e- iP/4) = 0. 2037- 0. 1637i,res f(42ei3P/4) = 0. 2037- 0. 1637i,res f(42e- i3P/4) = 0. 2037+ 0. 1637i,res f( i) = 0. 0926 res f( - i) = 0. 0926。f( ) 可以根據 f( z) 在所有極點的留數和等于 0的定理求出為res f( ) = - 26i= 1res f( pi) = - 1。 3. 利用Matlab 的符號運算功能求留數的數 102昌吉學院學報 2006 年第 3 期學表達式用residue 函數求留數雖然方便快捷, 但有。
12、兩個缺陷: 第一, 要求函數 f( z) 的形式必須是有理分 式; 第二, 只能求數值解, 不能求解析解。當函數 f( z) 的形式不是有理分式時, 求函數在極點 p 處的留數的方法只能先判斷極點的重數, 然后利用Matlab 的符號運算功能根據公式( 1) 進行計算, 可以求出留數的解析形式。例3 已知 f( z) =1- e2x z4, 求 res f( 0) 。解: z= 0 是 f( z) 的 3 階極點, 將 m= 3 代入求留數的公式( 1) , 輸入以下Matlab 語句:limit( diff( ( . z3* ( 1- exp( 2* z) ) / z 4. ) , 2) ,。
13、. z. , 0) / 2 % 用單撇號括起來表明是符號運算運算結果為ans=- 4/ 3即 res f( 0) = - 4/ 3。例4 設 f( z) =ez- 1 sin3z, 求 res f( kP ) , k= 1, 2,3,解: 當 kX 0 時, z= kP是 f( z) 的 3 階極點, 在 Matlab 的命令窗口輸入語句:limit( diff( ( -( z- pi) 3* ( exp( z) - 1) / ( sin( z) )3. ) , 2) , . z. , pi) / 2運算結果為 ans=- exp( pi) + 1/ 2即 res f( P) = - eP+1。
14、 2;當k= 2 時, 將上述語句中 pi 改為 2* pi, 得limit( diff( ( -( z- 2* pi) 3* ( exp( z) - 1) / ( sin( z) ) 3. ) , 2) , . z. , 2* pi) / 2ans= exp( 2* pi) - 1/ 2即 res f( 2P) = e2P-1 2。同樣可以求出 k= 3P時的留數為res f( 3P) = - e3P+1 2。歸納以上結果有res f( kP) = ( - 1)kekP-( - 1)k2。f( z) 的形式是有理分式時, 也可以用符號運算方法求留數。例5 設 f( z) =z15 ( z2+。
15、 1)2( z4+ 2)3, 求 res f( i) 。解: z= i 是 f( z) d 的二階極點, 在 Matlab 的命 令窗口, 輸入語句:limit( diff( ( . ( z- i) 2* z15/ ( ( z2+ 1) 2* ( z4+ 2) 3) . ) , 1) , . z. , i) 回車后可得結果為ans=5/ 54即res f( i) =5 54( = 0. 092592592) , 例 2 數值 計算是保留了 4 位小數的結果。4. 簡單的評述上面介紹的兩種求復變函數的留數的方法各有長處。看起來似乎用符號運算方法既可以求一 般函數的留數, 也可以求有理分式的留數, 而且得到的結果是解析的, 應該更有效。但事實上不一定。仍以例 2 的函數為例, p= 21/ 4eiP/4是函數的 3 階極點, 根據例 3 和例 4, 用語句 limit( diff( (. ( z-2( 1/ 4) * exp( i* pi/ 4) ) 3* z15/ ( ( z2+ 1) 2* ( z4+ 2) 3) . ) , 2) , . z. , 2( 1/ 4) * exp( i* pi) ) / 2 就可以求出函數在該點的留數。輸入上述語句后, 經 過一段時間的等待后, 結果卻是好幾百位的一個數, 可見, 至少在這種情況下, 數值解法雖然不。
總結
以上是生活随笔為你收集整理的matlab 求留数,用matlab求留数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 安卓psp模拟器联机教程_让PSP带你回
- 下一篇: psp能装安卓软件吗_PSP模拟器下载_