实验一MATLAB计算留数和积分(一)实验类型:验证性(二)实验类别:基础实验(三)实验学时数:2学时(四)实验目的1、熟悉MATLAB基本命令与操作;2、掌握MATLAB计算留数;3、掌握MATLAB计算封闭曲线上的复积分(五)实验内容MATLAB基本命令与实际操作MATLAB基本命令1、在MATLAB中求函数的留数的方法较简单,如果已知奇点和重数m则可用下面的MATLAB语句求出相应的留数R=limit(f*(z-Zo),z,zo)%简单极点%m阶极点R=limit(diff(f*(z-zo)^m,z,m-1)/prod(1:m-1);z,zo)2、在MATLAB中用函数Residue,可以计算有理函数的留数.调用格式如下:格式:[R, P, K]=residue(B,A)说明:向量B为f(z)的分子系数;向量 A为f(z)的分母系数;向量R为留数;向量P为极点位置;1
1 实验一 MATLAB 计算留数和积分 (一) 实验类型:验证性 (二) 实验类别:基础实验 (三) 实验学时数:2 学时 (四) 实验目的 1、熟悉 MATLAB 基本命令与操作; 2、掌握 MATLAB 计算留数; 3、掌握 MATLAB 计算封闭曲线上的复积分. (五) 实验内容 MATLAB 基本命令与实际操作 MATLAB 基本命令 1、在 MATLAB 中求函数的留数的方法较简单,如果已知奇点 和重数 , 则可用下面的 MATLAB 语句求出相应的留数. R=limit(f*(z-z0),z,z0) % 简单极点 R=limit(diff(f*(z-z0)^m,z,m-1)/prod(1:m-1);z,z0) % m 阶极点 2、在 MATLAB 中用函数 Residue,可以计算有理函数的留数. 调用格式如下: 格式:[R, P, K]=residue(B,A) 说明:向量 B 为 f(z)的分子系数; 向量 A 为 f(z)的分母系数; 向量 R 为留数; 向量 P 为极点位置; 0 z m
向量k为直接项(六)实验要求1、学生在实验操作过程中自己动手独立完成,1人为1组。2、完成实验报告:按照试验的每个题目的具体要求完成(七)实验仪器、设备计算机(安装Windows98、Windows2000或WindowsXP或以上)(八)实验课承担单位:信息与计算实验室1.1求孤立奇点处的留数1.2利用留数定理计算闭合路径的积分1.1求孤立奇点处的留数1.1.1用下面MATLAB语句求函数的留数当z.是简单极点时,用MATLAB语句R=limit(f*(z-zO),z,zO)求函数的留数当z.是m阶极点时,用MATLAB语句R=limit(diff(f*(z-z0)^m,z,m-1)/prod(1:m-1);z,z0)求函数的留数1sin(≥+ )e-2xf(2)=2(=-1)3例1试求函数的孤立奇点处的留数【解】分析原函数可知:=0是三阶极点,z=1是简单极点,因此可以直接使用下面的MATLAB语句分别求出这两个奇点的留数,【Matlab源程序】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)2
2 向量 k 为直接项: (六) 实验要求 1、学生在实验操作过程中自己动手独立完成,1 人为 1 组。 2、完成实验报告:按照试验的每个题目的具体要求完成 (七) 实验仪器、设备 计算机(安装 Windows98 、Windows2000 或 Windows XP 或以上) (八) 实验课承担单位:信息与计算实验室 1.1 求孤立奇点处的留数 1.2 利用留数定理计算闭合路径的积分 1.1 求孤立奇点处的留数 1.1.1 用下面 MATLAB 语句求函数的留数. 当 0 z 是简单极点时,用 MATLAB 语句 R=limit(f*(z-z0),z,z0)求函数的留数; 当 0 z 是 m 阶极点时,用 MATLAB 语句 R=limit(diff(f*(z-z0)^m,z,m-1)/prod(1:m-1);z,z0) 求函数的留数. 例 1 试求函数 的孤立奇点处的留数. 【解】分析原函数可知: 是三阶极点, 是简单极点,因此可以直接 使用下面的 MATLAB 语句分别求出这两个奇点的留数. 【Matlab 源程序】 syms z f=sin(z+pi/3)*exp(-2*z)/(z^3*(z-1)) R=limit(diff(f*z^3,z,2)/prod(1:2),z,0) 2π 3 1 π ( ) sin( ) ( 1) 3 f z z e z z − = + − z = 0 z =1
%仿真结果为:R=-1/4*3^(1/2)+1/2;limit(f*(z-1),z,1)%仿真结果为:R=1/2*exp(-2)*sin(1)+1/2*exp(-2)*cos(1)*3^(1/2)Z在≥=和z=2处的留数,练习题1求函数f(=)=(z-2)cosz2%结果为:R=-2*pi/(pi^2-8*pi+16)R=(cos(2)+2*sin(2)/cos(2)^ 21.1.2对于有理函数的留数计算,在MATLAB中用函数Residue.调用格式如下:格式: [R, P, K]=residue(B,A)说明:向量B为f(z)的分子系数;向量 A为 f(z)的分母系数 ;向量R为留数;向量P为极点位置;向量k为直接项:直接项是指有理分式(=)=B(=)/ A(=)的展开式中的 K(=),即为没有奇点的项,例如下式:(=)= B(=_0() Q(2)O(n)+ K(2)z- P(n)A(=)z-P(I) z-P(2)2+1例2求函数z+1在奇点处的留数.【解】【Matlab源程序】[R,P,K]= residue ([1,0,1],[1,1])3
3 %仿真结果为:R = -1/4*3^(1/2)+1/2 ; limit(f*(z-1),z,1) %仿真结果为:R =1/2*exp(-2)*sin(1)+1/2*exp(-2)*cos(1)*3^(1/2). 练习题 1 求函数 2 ( ) ( 2) cos z f z z z = − 在 2 z = 和 z = 2 处的留数. %结果为: R=-2*pi/(pi^2-8*pi+16) R=(cos(2)+2*sin(2))/cos(2)^2 1.1.2 对于有理函数的留数计算,在 MATLAB 中用函数 Residue. 调用格式如下: 格式:[R, P, K]=residue(B,A) 说明:向量 B 为 f(z)的分子系数; 向量 A 为 f(z)的分母系数; 向量 R 为留数; 向量 P 为极点位置; 向量 k 为直接项: 直接项是指有理分式 的展开式中的 ,即为没有奇点的项, 例如下式: 例 2 求函数 在奇点处的留数. 【解】【Matlab 源程序】 [R,P,K]= residue ([1,0,1],[1,1]) f z B z A z ( ) ( )/ ( ) = K z( ) ( ) (1) (2) ( ) ( ) ( ) ( ) (1) (2) ( ) B z Q Q Q n f z K z A z z P z P z P n = = + + + + − − − 1 1 2 + + z z
%结果为:R=2P =-1K=1 -12-2+1求函数 (=)=练习题2(z-1)(z-3)在奇点处的留数.【解】【Matlab源程序】[R,P,K]= residue ([1,-1,0,1],[1,-4,3])%结果为:R=9.5000-0.5000P=31K=131.2利用留数定理计算闭合路径的积分对闭合路径的积分,先计算闭区域内各孤立奇点的留数,再利用留数定理可得积分值.留数定理:设函数(2)在区域D内除有限个孤立奇点"i,2,,"外处处解析,C为D内包围诸奇点的一条正向简单闭曲线,则4,(2)dz = 2miZ Res[(2),=)]k=1例 3 计算积分4, 2-+ld= , 其中 C 是正向圆周[==2 ,金TCz-1【解】先求被积函数的留数【Matlab源程序】4
4 %结果为: R= 2 P = -1 K = 1 -1 练习题 2 求函数 在奇点处的留数. 【解】【Matlab 源程序】 [R,P,K]= residue ([1,-1,0,1],[1,-4,3]) %结果为: R= 9.5000 -0.5000 P = 3 1 K = 1 3 1.2 利用留数定理计算闭合路径的积分 对闭合路径的积分,先计算闭区域内各孤立奇点的留数,再利用留数定理可 得积分值. 留数定理:设函数 在区域 D 内除有限个孤立奇点 外处处解 析, 为 D 内包围诸奇点的一条正向简单闭曲线,则 例 3 计算积分 2 C 2 1d 1 z z z z − + − ,其中 C 是正向圆周 z = 2. 【解】先求被积函数的留数 【Matlab 源程序】 f z( ) 1 2 , , , n z z z C n k=1 ( )d 2πi Res[ ( ), ] k C f z z f z z = 3 2 1 ( ) ( 1)( 3) z z f z z z − + = − −
[R,P,K]= residue ([2,-1 , 1],[1,-1])%结果为:R= 2P = 1K= 2可见在圆周||=2内有一个极点,所以积分值等于S=2元isum(R)S=2*pi*i*2%结果为S=0+12.5664i222-z+1,-dz=2元isum(R)=4元i.故原积分z-12=+ldz的值练习题3计算积分2-11ddz9 ==2 (= + i)1°(=-1)(= - 3) 的值.例4计算积分?【解】【Matlab源程序】clearsymstzz=2*cos(t)+i*2*sin(t);f=1/(z+i)^10/(z-1)/(z-3);inc=int(f*diff(z),t,0,2*pi)%结果为inc=779/78125000**pi+237/312500000*pi%若只输出6位有效数值,使用语句vpa(inc,6)%结果为为ans=.238258e-5+.313254e-4*iJ
5 [R,P,K]= residue ([2,-1,1],[1,-1]) %结果为: R= 2 P = 1 K = 2 可见在圆周 z = 2 内有一个极点,所以积分值等于 S=2*pi*i*2 %结果为 S =0+12.5664i 故原积分 2 C 2 1d 2 sum(R) 4 . 1 z z z i i z − + = = − 练习题 3 计算积分 2 1 2 1d z 1 z z z = + − 的值. 例 4 计算积分 的值. 【解】【Matlab 源程序】 clear syms t z z=2*cos(t)+i*2*sin(t); f=1/(z+i)^10/(z-1)/(z-3); inc=int(f*diff(z),t,0,2*pi) %结果为 inc =779/78125000*i*pi+237/312500000*pi %若只输出 6 位有效数值,使用语句 vpa(inc,6) %结果为 ans =.238258e-5+.313254e-4*i. S = 2πisum(R) 10 | | 2 1 d ( i) ( 1)( 3) z z z z z = + − −