您的当前位置:首页正文

Matlab在复变函数中应用

来源:画鸵萌宠网
Matlab在复变函数中应⽤

MATLAB在复变函数中的应⽤

复变函数的运算是实变函数运算的⼀种延伸,但由于其⾃⾝的⼀些特殊的性质⽽显得不同,特别是当它引进了“留数”的概念,且在引⼊了Taylor级数展开Laplace 变换和Fourier变换之后⽽使其显得更为重要了。

使⽤MATLAB来进⾏复变函数的各种运算;介绍留数的概念及MAT–LAB的实现;介绍在复变函数中有重要应⽤的Taylor展开(Laurent展开Laplace变换和Fourier变换)。1 复数和复矩阵的⽣成在MATLAB中,复数单位为)1j

i,其值在⼯作空间中都显⽰为=sq rt=(-0+。.1i0000

1.1 复数的⽣成复数可由iz+=。a

=语句⽣成,也可简写成biaz*+b

另⼀种⽣成复数的语句是)exp(ithetar

=,也可简写成)=,z*exp(theta

*irz*

其中theta为复数辐⾓的弧度值,r为复数的模。1.2 创建复矩阵

创建复矩阵的⽅法有两种。

(1)如同⼀般的矩阵⼀样以前⾯介绍的⼏种⽅式输⼊矩阵例如:)]iA**ii=+3[i*-+*,),235336exp(23,exp(9

(2)可将实、虚矩阵分开创建,再写成和的形式例如:

)2,3(re=;randim=;)2,3(rand]

5466.07271.05681.02897.07027.05341.08385.03420.03704.03412.03093.06602.0[i ii i ii ++++++

注意 实、虚矩阵应⼤⼩相同。2 复数的运算1.复数的实部和虚部

复数的实部和虚部的提取可由函数real 和imag 实现。 调⽤形式 )(x real返回复数x 的实部)(x imag

返回复数x 的虚部2.共轭复数

复数的共轭可由函数conj 实现。 调⽤形式)(x conj

返回复数x 的共轭复数3.复数的模和辐⾓

复数的模和辐⾓的求解由功能函数abs 和angle 实现。 调⽤形式 )(x abs 复数x 的模)(x angle复数x 的辐⾓

例:求下列复数的实部与虚部、共轭复数、模与辐⾓ (1)i231

+ (2)i i i --131 (3)ii i 2)52)(43(-+(4)i i i +-2184由MATLAB 输⼊如下:

]21^48^,2/)52()43(),1/(3/1),23/(1[i i i i i i i i i i a +*--*=--+=1538.0

.15000.2.0--i ---50002308.30000i0000i.3.1i500013.0000real%实部)(aans=

0.2308 1.5000 –3.5000 1.0000imag%虚部(a)ans=

–0.1538 –2.5000 –13.0000 –3.0000(a

conj%共轭复数

)ans=

0.2308+0.1538i 1.5000+2.5000i–3.5000+13.0000i 1.0000+3.0000i abs%模(a)ans=

0.2774 2.9155 13.4629 3.1623angle%辐⾓)(aans=

–0.5880 –1.0304 –1.8228 -1.24904.复数的乘除法

复数的乘除法运算由“/”和“*”实现。例复数的乘除法演⽰。x*pi=)4i3/exp(x=.3.2-00004641iy*=pi

exp()5/3i=y

i 7634.14271.2-)5/exp(31i pi y **==1y

i 7634.14271.2+y x /=ans

i 5423.02181.1-1/y x

=ans I 3260.11394.0-由此例可见,i 5/)( 相当于)5/()(i * ,和i *5/)( 不相等。5.复数的平⽅根

复灵敏的平⽅根运算由函数sprt 实现。 调⽤形式)(x sprt

返回复数x 的平⽅根值6.复数的幂运算

复数的幂运算的形式为n x ^,结果返回复数x 的n 次幂。 例 求下列各式的值 )6/1()^1(-=ans

0.8660+0.5000 i

7.复数的指数和对数运算

复数的指数和对数运算分别由函数exp和log实现。调⽤形式exp(x返回复数x的以e为底的指数值)

log(x返回复数x的以e为底的对数值)

例求下列式的值(参见参考资料【4】P.68.2–15)。log(i-)ans=0-

.15708i+-log(i)34ans=6094.1+.2i2143

8.复数的三⾓函数运算

复数的三⾓函数运算函数参见下⾯的复数三⾓函数复数三⾓函数表

9. 复数⽅程求根

复数⽅程求根或实⽅程的复数根求解也由函数solve 实现。见下⾯的例⼦. 例 求⽅程083=+x 所有的根(参见参考资料【4】P.32.1–16)。 )083^('=+'x solve

=ans [ –2])]2/1(^31[*-i)]2/1(^31[*+i3 留数留数定义:

设a 是)(z f 的孤⽴奇点,C 是a 的充分⼩看邻域内⼀条把a 点包含在其内部的闭路,积分C dz z f i)(21

π称为)(z f 在a 点的留数或残数,记作]),([Re a z f s 。在MATLAB 中,可由函数residue 实现。residue 留数函数(部分分式展开)),(],,[A B residue K P R =

函数返回留数,极点和2个多项式⽐值)(/)(s A s B 的部分分式展开的直接项。)()

()()2()2()1()1()()(s K n P s n R P s R P s R s A s B +-++-+-= 如果没有重根,则向量B 和A 为分⼦、分母以s 降幂排列的多项式系数,留数返回为向量R 、极点在向量P 的位置,直接项返回到向量K 。极点的数⽬)()(1)(P length R length A length n ==-=。如果)()(A length B length <,则直接项系数为空;否则1)()()(+-=A length B length K length 。如果存在M 重极点即有)1()(-+==m j P j P 则展开项包括以下形式m

j P s m j R j P s j R j P s j R ))(()

1())(()1()()(2--+++-++- ),,(],[K P R residue A B = 有3个输⼊变量和2个输出变量,函数转换部分因式展开还为系数为B 和A 的多项式⽐的形式。

注意:数值上讲,分式多项式的部分因式展开实际上代表了⼀类病态问题。如果分母多项式)(S A 是⼀个近似有重根的多项式,则在数值上的⼀点微⼩变化,包括舍⼊误差都可能造成极点和留数结果上的巨⼤变化。因此使⽤状态空间和零点—极点表述的⽅法是可取的。

例 求如下函数的奇点处的留数。zz z 212-+

在MATLAB 实现如下])0,2,1[],1,1([],,[-=residue k p r=r 1.5000–0.5000=p2 0

=k[ ]

所以可得5.0]0),([Re ;5.1]2),([Re -==z f s z f s 。例 计算下⾯的积分-Cdz z z14

其中C 为正向圆周2||=z 。 (参见参考资料【4】P.158.例2)解:先求被积函数的留数 ])1,0,0,0,1[],0,1([],,[-=residue k p r=r

0.2500 0.2500–0.2500–0.0000 i–0.250+0.0000 i=p

–1.0000 1.0000 0.0000+1.0000 i0.0000–1.0000 i0=k[ ]

可见在圆周2||=z 内有四个极点,所以积分值等于0)25.025.025.025.0(2=--+**pi 。4 Taylor 级数展开

Taylor 级数开展在复变函数中有很重要的地位,如分析复变函数的解析性等。 函数)(x f 在0x x =点的Taylor 级数开展为+-''+-'+-+=!3/)0)(0(!2/)0)(0()0)(0(0)(3^2^x x x f x x x f x x x f x x f在MATLAB 中可由函数taylor 来实现。

taylor 泰勒级数展开 )(f taylor 返回f 函数的五次幂多项式近似。此功能函数可有3个附加参数。

),(n f taylor 返回1-n 次幂多项式。 ),(a f taylor 返回a 点附近的幂多项式近似。),(x r taylor

使⽤独⽴变量代替函数)(f findsym 。

例 求下列函数在指定点的泰勒开展式(参见参考资料【4】P.143.12)。(1)10,/12-=z z (2)4/0,pi z tgz =;MATLAB 实现为: )1,2^/1(-x taylor

5)^1(64)^1(53)^1(42)^1(323+*++*++*++*+*+x x x x x

)4/),(tan(pi x taylor

=ans *+*-*+*-*+*-*+3/103)^4/1(3/82)^4/1(22/121pi x pi x pi x5)^4/1(15/644)^4/1(pi x pi x *-*+*-例 再看下⾯的展开式 )10,/)(sin(x x taylor=ans

8^362880/16^5040/14^120/12^6/11x x x x *+*-*+*-展开式说明0=x 是此函数的伪奇点!

这⾥的taylor 展开式运算实质上是符号运算,因此在MATLAB 中执⾏此命令前应先定义符号变量 z x syms ,,否则MATLAB 将给出出错信息!

5 Laplace 变换及其逆变换1.Laplace 变换)(F laplace L =

返回以默认独⽴变量T 对符号函数F 的Laplace 变换。函数返回默认为s 的函数。如果)(s F F =,则Laplace 函数返回t 的函数)(t L L =。其中定义L 为对t 的积分i n f ),0),exp()(int()(t s t F s L *-*=。

),(t F laplace L = 以t 代替s 的Laplace 变换。),(t F l a p l a c e 等价于),0),exp()(int()(inf x t x F t L *-*=。),,(z w F laplace L = 以z 代替s 的Laplace 变换(相对于w 的积分)。),,(z w F laplace 等价于inf),0),exp()(int()(w z w F z L *-*=。例如:syms a s t w x)5^(x laplace=ans6^/120s

))(exp(s a paplace *=ans)/(1a t -)),(sin(t x w laplace *=ans)2^2^/(w t w +

),),((t w w x cons laplace *=ans)2^2^/(x t t +

)),2/3(^(t sym x laplace=ans

)2/5(^/)2/1(^4/3t pi *))))((((''x F sym diff laplace

=ans

)0(),),((F s s x x F laplace -*2.Laplace 逆变换)(L ilaplace F =

返回以默认独⽴变量s 的数量符号L 的Laplace 变换,默认返回t 的函数。如果)(t L L =,则ilaplace 返回x 的函数)

(x F F =。)(x F 定义为对s 的积分

inf)inf,,),exp()(int()(*+*-**=i c i c s t s s L t F ;其中c 为选定实数,使得)(s L 的所有奇点都在直线c s =的左侧。

),(y L ilaplace F = 以y 代替默认的t 的函数,且有),(y L i l a p l a c e 等价于i n f )i n f ,,),exp()(int()(*+*-**=i c i c s y s y L y F 。这⾥y 是个数量符号。),,(x y L ilaplace F =

以x 代替t 的函数,),,(x y L ilaplace

等价于i n f )i n f ,,),exp()(int()(*+*-**=i c i c y y x y L y F ,对y 取积分。例如:y x w t s syms))1/(1(-s ilaplace=ans)exp(t

))12^/(1(+t ilaplace=ans)sin(x

ilaplace ))),2/5((?(x sym t- =ans

)2/3(^*)2/1(^/3/4x piilaplace ),),2^2^/((x y w y y +=anscos )*(x w

ilaplace(),,),),),(((x s s x x F laplacesym '' =ans F()x

6 Fourier 变换及其逆变换1. Fourier 积分变换

F=fourier(f) 返回以默认独⽴变量x 对符号函数f 的Fourier 变换,默认返回w 的函数。如果)(w f f =,则fourier 函数返回t 的函数F=F(t)。定义F(w )int(f(x )*exp(inf),inf,,),**--x x w i 为对x 的积分。

=F fourier (),v f 以v 代替默认值w 的Fourier 变换,且有fourier (),v f 等价于F ()v = int inf)inf,,),**exp(*)((--x x v i x f 。

fourier ),,(v u f 以v 代替x 且对u 积分,且有fourier ),,(v u f <=>F (v )= int inf)inf,,),**exp(*)((--u u v i u f 。 例如:syms t v w xfourier (1/t )=ans

))()((**w Heaviside w Heaviside pi i -- ),),2?(exp(t x xfourier - =ans)2?*4/1e x p (*)2/1(?ti p - fourier )),)((*)(exp(

v t Heaviside sym t ''- =ans 1/)*1(v i +fourier ),)),)((((w x x F sym diff ''=ans

),),((**w x x F fourier w i 2.Fourier 逆变换

)(F i f o u r i e r f = 返回以默认独⽴变量w 对符号函数F 的Fourier 逆变换,默认返回x 的函数Fourier 逆变换应⽤于返回x 的函数,即由F=F )(w 推出

)(x f f =。如果F=F )(x ,则ifourier 函数返回t 的函数)(t f f =。定义i n f )i n f ,,),**exp(*)(int(*)*2/(1)(-=w x w i w F pi x f ,对w 的积分。

),(u F ifourier f = 以u 代替x 的函数,且有ifourier ),(u F 等价于inf)inf,,,**exp(*)(int(*)*2/(1)(-=w u w i w F pi u f 对w 积分。

),,(u v F ifourier f = 以v 代替w 的Fourier 逆变换,且有),,(u v F ifourier <=>inf)inf,,**exp(*)(int(*)*2/(1)(-=v u v i v F pi u f ,积分针对v 。例如:symst u w x

))((*)*3exp(*(''-w Heaviside sym w w ifourier=ans

2)?*3/(/2/1t i pi -u w

ifourier ),2?1/(1(+ =ans

)*)exp(*2/1)(*)exp(*2/1u Heaviside u u Heaviside u -=-ifourier(v/(1+w )2∧,u) ansi/(1+w )2∧*Dirac(1,u)

ifourier(sym(′fourier(f(x),x,w) ′),w,x) ans=f(x)

因篇幅问题不能全部显示,请点此查看更多更全内容

Top