本文针对前面《数学物理方法(三)~(六)》所讲述的复变函数知识,补充一部分MATLAB模拟实验的例子。其中(一)和(二)的模拟实验例子以完善到原文,而后面几篇的补充内容打算综合到一起,形成本篇笔记。

1.非闭合路径的积分计算

首先介绍一下MATLAB中的int函数

非闭合路径的积分用函数int求解

Ex:求积分 x1=int_{frac{pi}{6}i}^{0}cosh(3z)dz;x2=int_{0}^{i}(z-1)e^{-z}dz

代码:

syms z;x1=int(cosh(3*z),z,pi/6*i,0)x2=int((z-1)*exp(-z),z,0,i)结果为:x1 =-1i/3x2 =-exp(-1i)*1i

2.闭合路径的积分计算

2.1求孤立奇点的留数

在MATLAB中求函数的留数的方法较简单,如果已知奇点 z_0 和重数 m ,则可以用以下语句求出相应的留数。

R=limit(F*(z-z0),z,z0) %单奇点

R=limit(diff(F*(z-z0)^m,z,m-1)/prod(1:m-1);z,z0) %m重奇点

Ex:试求函数 f(z)=frac{1}{z^3(z-1)}sin(z+frac{pi}{3})e^{-2z} 的孤立奇点处的留数

解:分析原函数可知: z=0 是三重奇点, z=1 是单奇点,因此可以编程求出这两个奇点syms zf=sin(z+pi/3)*exp(-2*z)/(z^3*(z-1))R=limit(diff(f*z^3,z,2)/prod(1:2),z,0)f = (exp(-2*z)*sin(z + pi/3))/(z^3*(z - 1))R =

1/2 - 3^(1/2)/4

>> limit(f*(z-1),z,1)ans = exp(-2)*sin(pi/3 + 1)

2.2利用留数定理计算闭合路径的积分

留数定理:设函数 f(z) 在区域D内除有限个孤立奇点 z_1,z_2,...,z_n 外处处解析,C为D内包围诸奇点的一条正向简单闭曲线,则 oint_{c}f(z)dz=2pi isum_{k=1}^{n}{Res[f(z),z_k]}

对于有理函数的留数计算,可调用函数residue,格式如下:

[R,P,K]=residue(B,A)

向量B为f(z)的分子系数;向量A为f(z)的分母系数;向量R为留数;向量P为极点位置;向量K为直接项。

直接项是指有理分式 f(z)=B(z)/A(z) 的展开式中的 K(z) ,即为没有奇点的项,如

f(z)=frac{B(z)}{A(z)}=frac{Q(1)}{z-P(1)}+frac{Q(2)}{z-P(2)}+...+frac{Q(n)}{z-P(n)}+K(z)

Ex1:求函数 frac{z^2+1}{z+1} 在奇点处的留数

代码:[R,P,K]=residue([1,0,1],[1,1])模拟结果为R = 2 P = -1 K = 1 -1

故在奇点在z=-1处的留数为2.

Ex2:模拟计算积分 oint_{c}frac{z}{z^4-1}dz 的值,其中C是正向圆周, left| z 
ight|=2 [R,P,K]=residue([1,0],[1,0,0,0,-1])S=2*pi*i*sum(R)R = 0.2500 + 0.0000i 0.2500 + 0.0000i -0.2500 - 0.0000i -0.2500 + 0.0000iP =

-1.0000 + 0.0000i

1.0000 + 0.0000i 0.0000 + 1.0000i 0.0000 - 1.0000iK = []S = 0故原积分为0.

3.复变函数级数的收敛及其收敛半径

Ex:判断下列数列 left{ alpha_n 
ight} 是否收敛,如收敛求出其极限。

模拟如下:

clear

syms nf1=(1+i*n)/(1-i*n);limit(f1,n,Inf)ans = %模拟结果-1%数列收敛,极限为-1

Ex2:求下列幂级数的收敛半径

(1) sum_{n=0}^{infty}{e^{ifrac{pi}{n}}z^n} ;(2) sum_{n=1}^{infty}{(frac{z}{ni})^n}

clear

syms n

C1=exp(i*pi/n)

C2=1/(i*n)^nR1=abs(limit(C1^(-1/n),n,inf))R2=abs(limit(C2^(-1/n),n,inf))R1 = 1R2=Inf

4.变数函数的泰勒级数展开

Ex1:求函数 frac{1}{z^2} 在指定点 z_0=-1 的泰勒展开式

syms z

taylor(1/(z)^2,z,-1)

ans =

2*z + 3*(z + 1)^2 + 4*(z + 1)^3 + 5*(z + 1)^4 + 6*(z + 1)^5 + 3

Ex2:试对正弦函数进行幂级数展开,观察不同阶次的图像

x0=-2*pi:0.01:2*pi;y0=sin(x0);syms x;y=sin(x);

plot(x0,y0),axis([-2*pi,2*pi,-1.5,1.5])hold onfor n=[8:2:16]p=taylor(y,x,order,n),y1=subs(p,x,x0);line(x0,y1)end

模拟结果如下:


推荐阅读:
相关文章