实验十三  MATLAB在复变函数中的应用

 

一、实验目的

了解Matlab中有关复数的功能,能利用Matlab软件计算复变函数中的相关问题。

二、相关知识

我们知道,复数由实部和虚部组成,表示为:为实数,为虚单位。在Matlab中也采用这样的方法来表示虚数,只是有时也用来表示虚单位。我们可以在命令窗口直接输入一个复数z=2+3*i,也可以用complex()命令来生成复数。用该命令还可生成复向量、复矩阵。例如:a=(1:4);b=(5:8); z2=complex(a,b),则得到如下的结果:

1.0000 + 5.0000i   2.0000 + 6.0000i   3.0000 + 7.0000i   4.0000 + 8.0000i

现在我们来看一下有关复数的几个函数:

函数

real(X)

imag(X)

angle(X)

abs(X)

conj(X)

功能

返回实部

返回虚部

返回辐角

返回模

返回共轭

    这些函数中的X均可以是复数、复向量、复矩阵。

我们前面讨论的四则运算、解代数方程、求极限、求导数、求积分、级数展开等运算,都可以运用到复数上来。这些是比较简单的问题。

接着,我们来讨论关于留数的计算。留数是复变函数中的一个重要概念,按照复变函数教材上的定义,函数点的留数为:

   

其中在区域内解析,的孤立奇点,为圆周。按照的罗朗展开式,可以得到,即的留数等于的罗朗级数展开式中的系数。

按照定义,我们固然可以通过求函数的罗朗级数的方法来求处函数在给定点的留数,但是如果遇到较为复杂的函数,要求留数并非一件易事,而Matlab为我们提供了一些计算工具。首先,对于分子分母均为多项式的函数,Matlab有一个专门用于计算留数的函数residue(),其格式如下:

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

其中:参数B是由复变函数的分子的系数组成的向量,参数A是由复变函数的分母的系数组成的向量,例如,对于函数,则,参数是返回的留数,是由不同奇点的留数组成的向量。参数是返回的极点,也是一个向量,参数是个向量,由B/A的商的多项式系数组成,如果length(B)<length(A),则K为空向量,否则,length(K)=length(B)-length(A)+1

另外,函数residue()还可以根据已知的奇点P,奇点的留数RK来计算分式复变函数的系数BA,其格式如下:

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

其中参数的意义同前。

1:计算复变函数的留数,然后根据计算的结果反求复变函数的分式表达式的系数AB

程序如下:

clear

B=[1,0];

A=[1,0,0,0,-1];

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

[B1,A1]=residue(R,P,K)

结果为:

R =0.2500         

   0.2500         

  -0.2500 + 0.0000i

  -0.2500 - 0.0000i

P =-1.0000         

   1.0000         

   0.0000 + 1.0000i

   0.0000 - 1.0000i

K =[]

B1 =     0    0.0000    1.0000    0.0000

A1 = 1.0000   -0.0000   -0.0000    0.0000   -1.0000

    2:计算复变函数的留数,然后根据计算的结果反求复变函数的分式表达式的系数AB

程序只要修改例1中的BAB=[1,3,0,2]A=[1,6,-1]即可,结果如下:

R =18.6706

    0.3294

P = -6.1623

    0.1623

K =  1    -3

B1 =  1.0000    3.0000   -0.0000    2.0000

A1 =  1.0000    6.0000   -1.0000

当复变函数的分子分母不是多项式时,函数residue()就失效了,此时,我们主要根据4个留数计算规则和一个定理来进行留数的计算。

规则(1):如果的一级极点,则:

规则(2):如果级极点,则:

规则(3):设,且点都解析,如果

,那么的一级极点,则的留数为:

规则(4):在无穷远点的留数:

定理:如果在扩充复平面内只有有限个孤立奇点,那么在所有奇点的留数的总和必定为零。

3:计算函数点的留数。

很明显,都是的一级极点,所以使用第一个运算法则较为合适。用以下程序可以算得结果:

clear

syms z

f=z*exp(z)/(z^2-1);

z1=1;z2=-1;

R1=limit((z-1)*f,z,1)

R2=limit((z+1)*f,z,-1)

结果为:

R1 =1/2*exp(1)

R2 =1/2*exp(-1)

4:计算函数处的留数。

我们可以看出在扩充的复平面上有三个极点:,根据计算留数的定理,处的留数应该等于其在处留数的和,又是的一级奇点,所以有:,因此用以下的程序可以求解:

clear

syms z

f=exp(z)/(z^2-1);

R1=limit(f*(z-1),z,1)

R2=limit(f*(z+1),z,-1)

R=R1+R2

结果如下:

R1 =1/2*exp(1)

R2 =-1/2*exp(-1)

R =1/2*exp(1)-1/2*exp(-1)

三、实验内容

1.解方程组:

2.计算函数在点处的一阶导数;

3.计算下列表达式在其奇点的留数:

1;(2;(3;(4

4.把作为符号,用函数Taylor将表达式进行泰勒展开;

5.完成实验报告。