例谈玀ATLAB在复变函数学习中的应用
2016-05-14龚桂琼赵蕾王文雅赵小容孟红静吕凯军
龚桂琼 赵蕾 王文雅 赵小容 孟红静 吕凯军
[摘要]复变函数具有高度的抽象性、不易理解,而MATLAB软件在计算和绘画方面具有很大的优势。因此,本文利用MATLAB软件对复变函数中一些重点和难点进行处理,以实例的形式介绍MATLAB软件在复变函数中的应用。
[关键词]复变函数;傅里叶变换;Taylor展式;留数
[基金项目]西藏自治区大学生创新训练项目(2014QCX020),西藏大学珠峰学者人才发展支持计划青年骨干教师计划。
一、引 言
复变函数是数学分析的继承和发展,是数学学习的基础和重点课程,但由于其自身的特点,在实际学习中,许多的同学认为此门课程抽象、枯燥、不易理解。MATLAB是一种具有强大数值计算、分析和图形处理功能的软件,其应用领域非常广泛,并且使用方便、代码少、效率高。本文把复变函数的学习和MATLAB结合起来,以具体实例的形式介绍了MATLAB软件在复变函数中的应用。
二、MATLAB在复变函数学习中的应用实例
1。复变函数中的基本计算
利用MATLAB软件可以非常简单的求解复变函数中的基本运算,如复变函数的函数值、函数值的实部和虚部、辅角、模和共轭函数等。比起传统的手工运算更方便、快捷。
例1 求函数z=2*sin(4-3*i)的函数值、函数值的实部和虚部、辅角、模与共轭函数。
MATLAB语句如下:
>>z=2*sin(4-3*i)z=-15。2385 +13。0962i
>>z1=real(z)z1=-15。2385
>>z2=imag(z)z2=13。0962
>>z3=abs(z)z3=20。0928
>>z4=angle(z)z4=2。4317
>>conj(z)ans=-15。2385-13。0962i
>>z3=abs(z)z3=20。0928
>>z4=angle(z)z4=2。4317
2。求解复变函数的导数
解析函数是复变函数研究的主要对象,因此讨论函数的可微性和解析性是复变函数的重点内容之一。同样,利用MATLAB软件也可以求解复变函数的导数。
例2 试求函数f(z)=ez/sinz在z=4*i处的到数值。
MATLAB语句如下:
syms z
>>f=exp(z)/sin(z);
>>df=diff(f,z);
>>vdf=subs(df,z,4*i)
vdf=-0。0517-0。0038i
3。求解复变函数的积分
复积分的值与被积函数和积分曲线均有关系,从而加大了求解复积分的难度,但是利用MATLAB软件可以容易地求解其结果。
例3 求解积分∫c(3*z^2-2*z+5)dz,其中c为|z|=2 。
MATLAB语句如下:
>>syms t z
>>z=2*cos(t)+i*2*sin(t);
>>f=3*z^2-2*z+5;
>>inc=int(f*diff(z),t,0,2*pi)inc=0
4。求方程的根
复数域上的任何一元N次方程,均有N个根。利用MATLAB软件同样可以求解。
例4 求方程z^2+2*z+8=0的根。
MATLAB语句如下:
>>syms z
>>solve(z^2+2*z+8,z)
ans=
-7^(1/2)*i-1
7^(1/2)*i – 1
5。留数的计算
留数理论及其应用对复变函数论的发展起到一定的推动作用,因此学好留数至关重要,但某些复变函数的留数并不容易计算,所以,我们借助MATLAB软件来求解,既简单,又快捷,而且又准确。
例5 计算函数f(z)=(z^2-4*z+3)/(z^3+2*z^2+z)的极点和留数。
MATLAB语句如下:
>>a=[1-4 3];
>>b=[1 2 1 0];
>>[r,p]=residue(a,b)
r=-2
-8
3
6。有理函数的部分展开式
复变函数的又一重要知识点之一,有理函数的部分分式展开式,可以直接利用MATLAB语言中的residue求解。
例6 求函数f(z)=(-2*z+6)/(z^3+z)的部分分式展开式。
MATLAB语句如下:
>>m=[-2,6];
>>n=[1 0 1 0];
>>[r,p,k]=residue(m,n);
>>[m,n1]=rat(r);
>>[m,n1,p]
ans=
-3。0000 + 1。0000i 1。0000 0 + 1。0000i
-3。0000-1。0000i 1。0000 0-1。0000i
6。0000 1。0000 0
>>p=
-1
-1
7。复变函数的Taylor展开式
级数在复变函数中也占有重要的地位,对于求解一些级数的Taylor展开式,工作量巨大,所以我们可以利用MATLAB软件来求解。
例7 设函数f(z)=sin(z+2)+cos(z-2)在z=3处的前六项Taylor展式。
MATLAB语句如下:
>>syms z
>>f=sin(z+2)+cos(z-2);
>>F=taylor(f,6,z,3)
F=cos(1)+sin(5)-(z-3)2*(cos(1)/2+sin(5)/2)-(z-3)3*(cos(5)/6-sin(1)/6)+(z-3)4*(cos(1)/24+sin(5)/24)+(z-3)5*(cos(5)/120-sin(1)/120)+(cos(5)-sin(1))*(z-3)
8。傅里叶变换及其逆变换
傅里叶变换及其逆变换是复变函数的又一重要内容,但其变换过程很复杂,不易求解。因此,利用MATLAB软件来求解。
例8 已知f(t)=exp(-t)*cos(2*t),求f(t)的Fourier变换,并对结果进行逆变换。
MATLAB语句如下:
>>syms t w
>>f=exp(-t)*cos(2*t);
>>F=fourier(f)
F=
transform::fourier(cos(t)^2/exp(t),t,-w)-transform::fourier(exp(-t)*sin(t)^2,t,-w)
>>f=ifourier(F,w,t)
f=((2*pi*cos(-t)2)/exp(t)-(2*pi*sin(-t)2)/exp(t))/(2*pi)
9。Laplace变换及其逆变换
在MATLAB语言中可以使用Laplace函数来实现Laplace变换
例9 设函数f(t)=2*e-t*cost+Π2,求其Laplace变换,并对结果进行Laplace逆变换。
MATLAB语句如下:
>>syms t s
>>f=2*exp(-t)*cost+pi/2;
>>F=laplace(f,t,s)
F=-2/((s+1)2+1)
>>f=ilaplace(F,s,t)
f=-2*sin(t)/exp(t)
10。MATLAB绘图功能在复变函数学习中的应用
在复变函数的学习中,复变函数图形的绘制常常是繁杂的,仅凭手工很难绘制出来。而MATLAB软件在绘图方面具有很大的优势。因此,借助MATLAB软件的绘图功能,可以快捷、准确的画出复变函数的图形,使复变函数的学习变得形象、生动,有利于学生从图形获得相应的性质。
例10 绘制函数f(z)=3*z^2的图形。
>>z=cplxgrid(30);
>>w=3*z。^4+z;
>>surf(real(z),imag(z),real(w),imag(w));
>>title(′f(z)=3*z^2′)
三、结 语
本文通过以上的十个实例,充分展示了MATLAB在求解复变函数的相关问题中,具有规范、简洁、灵活的特点,充分体现了MATLAB的实用价值,同时也培养学生运用MATLAB语言编程的能力,对同学们学习后继的数学课程以及在工作中使用数学软件都大有裨益。
[参考文献]
[1]胡良剑,孙晓君。MATLAB数学实验(第二版)[M]。北京:高等教育出版社。
[2]郭秀凤,卢亮。MATLAB在复变函数中的应用[J]。科教文汇出版社。2015。(3)。
[3]陈静,段振辉。MATLAB在复变函数与积分变换课程教学中的应用[J]。
河南机电高等专科学校学报。2011(9)。
[4]陈耀庚,MATLAB在《复变函数》教学中的应用[J]。科技信息。
[5]麻桂英,陈全新。用MATLAB提高《复变函数》教学质量[J]。阴山学刊2009。