复变函数报告..优秀PPT.ppt
复变函数报告一些复数运算的一些复数运算的MATLABMATLAB实现实现内容提要内容提要:复变函数中的很多运算都能在复变函数中的很多运算都能在MATLAB中进中进行,而且变得特别简洁,只须要调用相应的行,而且变得特别简洁,只须要调用相应的函数或者编写程序代码。这里将选取复变函函数或者编写程序代码。这里将选取复变函数中一些常用的运算:模、辐角、幂次、方数中一些常用的运算:模、辐角、幂次、方根、留数、简洁积分计算等介绍其在根、留数、简洁积分计算等介绍其在MATLAB中的计算方法。同时,选取了课本中的计算方法。同时,选取了课本上的一些例题习题进行求解展示。上的一些例题习题进行求解展示。关键词关键词 MATLAB 复数基本运算复数基本运算 留数留数 积分运算积分运算0 MATLAB简介 MATLAB(矩阵试验室)是MATrix LABoratory的缩写,是一款由美国MathWorks公司出品的商业数学软件。MATLAB是一种用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。MATLAB的功能特别强大,其自带的各种工具箱能够解决很多领域的数学问题,因此应用特别广泛。1 复数的生成复数的输入在MATLAB中,复数的单位为i和j,即:i=j=在吩咐窗口中其值显示为:0+1.0000i产生复数的方法有两种:1.由z=x+y*i产生,可简写成z=x+y i;2.由 产生,可简写成 ,其中r为复数z的模,为复数z辐角的弧度值。2 复数的运算2.1 复数的实部与虚部复数的实部与虚部复数的实部和虚部用吩咐复数的实部和虚部用吩咐real和和imag提取。提取。格式:格式:real(z)%返回复数返回复数z的实部的实部 imag(z)%返回复数返回复数z的虚部的虚部2.2 共轭复数共轭复数复数的共轭复数由吩咐复数的共轭复数由吩咐conj实现。实现。格式:格式:conj(z)%返回复数返回复数z的共轭复数的共轭复数2.3 复数的模和辐角复数的模和辐角求复数的模和辐角由函数求复数的模和辐角由函数abs和和angle实现。实现。格式:格式:abs(z)%返回复数返回复数z的模的模 angle(z)%返回复数返回复数z的辐角的辐角例1 求下列复数的实部、虚部、共轭复数、模、辐角。(1)(2)(3)(4)解:可以运用相应的函数指令逐个对上面各题进行求解。更便利地,将上述4个复数组成复矩阵一并处理。在MATLAB编辑器中建立M文件Example1.m:format rat%有理数表示Z=1/(1+5i),3/i+i/(4-i),(1+3i)*(9-4i)/2i,4*i17-i7+iReal=real(Z)%求实部Imag=imag(Z)%求虚部Conj=conj(Z)%求共轭复数Abs=abs(Z)%求模theta=angle(Z)%求辐角2.4 复数的乘除法复数的乘除法运算符:*%乘法:模相乘,辐角相加 /%除法:模相除,辐角相减例2【课本习题】(P10,12)(a)(b)解:在MATLAB编辑器中建立M文件Example2.m:clcformat rat%有理数表示a=-2i*(3+i)*(2+4i)*(1+i)b=(3+4i)*(-1+2i)/(-1-i)*(3-i)Conjugate=conj(a,b)%求共轭复数运行结果为:a=32+24i b=2-3/2i Conjugate=32-24i 2+3/2i 留意:3/2i=3/(2*i),而3/2i3/2*i=(3/2)*i2.5 复数的平方根函数:sqrt 格式:sqrt(z)%返回复数z的平方根值2.6 复数的幂运算运算符:格式:zn%返回复数z的n次幂例3【课本习题】(P13,41)(i)(j)解:在MATLAB编辑器中建立M文Example3.m:clcz1=(-16)(1/4)z2=(-8-8*sqrt(3)*i)(1/4)%matlab求解时只能给出n=0的值运行结果为:z1=1393/985+1393/985i%取n=0之值z2=1351/780-1i%取n=0之值2.7 复数的指数运算和对数运算复数的指数运算和对数运算函数:exp 指数运算 log 对数运算格式:exp(z)%返回复数z的以e为底的指数函数值 log(z)%返回复数z的以e为底的对数函数值2.8 复数方程求根复数方程求根函数:solve格式:solve(f(x)=0)%求方程f(x)=0的根例4【课本习题】(P40,1)(a)(b)(c)解:在MATLAB编辑器中建立M文件Example4.m:clcformat rat%有理数表示A=solve(exp(z)=-2)B=solve(exp(z)=1+sqrt(3)*i)C=solve(exp(2*z-1)=1)%matlab求解时只能给出n=0的值运行结果为:A=log(2)+pi*i%取n=0之值B=log(1+3(1/2)*i)%取n=0之值C=1/2%取n=0之值2.9 复数的三角函数运算复数的三角函数运算 复数三角函数的形式和调用方式与实数一样,函数返回复数三角函数的形式和调用方式与实数一样,函数返回复数复数z的函数值。的函数值。3 Taylor级数绽开 Taylor级数绽开在复变函数中有很重要的地位,如分析复变函数的解析性等。函数:taylor%Taylor级数绽开格式:taylor(f)%返回f函数的5次幂多项式近似 taylor(f,n)%返回n-1次幂多项式近似 taylor(f,a)%返回a点旁边的幂多项式近似 taylor(f,x)%对f中的变量x绽开;若不含x,则对变量x=findsym(f)绽开。例5【课本例题】(P88,6,8)(1),z0=0;(2)1/(1-z),z0=0解:在MATLAB编辑器中建立M文件Example5.m:clcsyms zE6=taylor(exp(z),0)%返回函数的5次幂多项式近似值E8=taylor(1/(1-z),0)%返回函数的5次幂多项式近似值运行结果为:ans=z5/120+z4/24+z3/6+z2/2+z+1ans=z5+z4+z3+z2+z+1留意:taylor绽开运算实质上是符号运算,因此在MATLAB中执行此吩咐前应先定义符号变量syms z,否则MATLAB将给出出错信息!4 复变函数的积分复变函数的积分4.1 留数计算留数计算在在MATLAB中,留数可由函数中,留数可由函数residue实现。实现。函数:函数:residue%留数函数(部分分式绽开)留数函数(部分分式绽开)格式:格式:R,P,K=residue(B,A)说明:说明:向量向量B为为f(z)的分子系数;(以降幂排列)的分子系数;(以降幂排列)向量向量A为为f(z)的分母系数;(以降幂排列)的分母系数;(以降幂排列)向量向量R为留数;为留数;向量向量P为极点;极点的数目为极点;极点的数目n=length(A)-1=length(R)=length(P)。向量向量K为干脆项为干脆项留意:留意:MATLAB函数只能解决有理分式的留数问题。函数只能解决有理分式的留数问题。例6【课本习题】(P128,3)求下列函数在z=1处的留数(a)(b)解:在MATLAB编辑器中编辑M文件Example6.m:clcsyms zformat rat A1=sym2poly(z2-1)*(z+2);%以降幂排列方式提取(a)中分母系数B1=1;A2=sym2poly(z4-1)2);%以降幂排列方式提取(b)中分母系数B2=sym2poly(z3-1)*(z+2);%以降幂排列方式提取(b)中分子系数r1,p1,k1=residue(B1,A1)%求(a)的留数r2,p2,k2=residue(B2,A2)%求(b)的留数 p2=-0.0000+1.0000i -0.0000+1.0000i -0.0000-1.0000i -0.0000-1.0000i -1.0000 -1.0000 1.0000 1.0000 k2=运行结果为:r1=1/3 1/6 -1/2 p1=-2 1 -1 k1=r2=-1/8+7/16i 1/16+3/16i -1/8-7/16i 1/16-3/16i -5/16 -1/8 9/16 4.2 沿闭合围线积分沿闭合围线积分闭合围线积分利用留数定理来计算。留数定理:设函数f(z)在区域D内除有限个孤立奇点z1,z2,z n外到处解析,C为D内包围诸奇点的一条正向简洁闭曲线,则例7【课本例题】(P122,例8)解:在MATLAB编辑器中建立M文件Example7.m:clc syms zA=sym2poly(z2+1)2*(z4+2)3);%以降幂排列方式提取分母系数B=sym2poly(z15);%以降幂排列方式提取分子系数r,p,k=residue(B,A)%求被积函数的留数I=2*pi*i*sum(r)%利用留数定理计算积分值p=运行结果为:r=11/54 -585/3574i 108/5207 +807/8266i -1/72 -184/37471i 11/54 +585/3574i 108/5207 -807/8266i -1/72 +184/37471i 11/54 +585/3574i -108/5207 +807/8266i -1/72 +184/37471i 11/54 -585/3574i -108/5207 -807/8266i -1/72 -184/37471i -1/38509073187710736+1/108i -1/38509073187710736-1/108i I=-0.0000+5.9341i留意:本题的精确解为2i,计算机运算时由于多次截取近似值使得结果有确定的偏差例8【课本习题】(P128,5)(a)(b)(c)解:在MATLAB编辑器中建立M文件Example8.m:clcsyms zA1=-1,0,0,1;%(a)式分母系数B1=1,0,0,0,0,0;%(a)式分子系数A2=1,0,1;%(b)式分母系数B2=1;%(b)式分子系数A3=1,0;%(c)式分母系数B3=1;%(c)式分子系数r1,p1,k1=residue(B1,A1);%求被积函数的留数r1=r1(find(abs(p1)2);%选取在围线内部的奇点对应的留数I1=2*pi*i*sum(r1)%利用留数定理计算积分值r2,p2,k2=residue(B2,A2);%求被积函数的留数r2=r2(find(abs(p2)2);%选取在围线内部的奇点对应的留数I2=2*pi*i*sum(r2)%利用留数定理计算积分值r3,p3,k3=residue(B3,A3);%求被积函数的留数r3=r3(find(abs(p3)2);%选取在围线内部的奇点对应的留数I3=2*pi*i*sum(r3)%利用留数定理计算积分值运行结果为:I1=0-6.2832iI2=0I3=0+6.2832i留意:依据留数定理,在计算时有必要推断奇点是否在给出的围线的内部,因此在上面计算中加入了一条指令:r=r(find(abs(p)K);%选取在围线内部的奇点对应的留数,K表示围线的半径Thank you