陈莉
【摘要】复变函数是微积分在复数域的推广与发展,其内容、结构和方法与微积分有许多类似之处.复变函数课程在自然科学和工程技术中又有着广泛的应用,是研究诸如流体力学、电磁学、热学和弹性理论中平面问题的有力工具.但是该课程原理多,内容抽象、枯燥,且需要理解的概念、定义多,是学生较难学的课程之一.本文主要探讨MATLAB在复变函数中的应用,利用MATLAB将复变函数运行结果以可视、动态化的形式呈现出来,给学生在视觉上直观的结果,便于理解问题的本质及意义.
【关键词】典型应用;可视化;动态化
【基金项目】2018年广东省教学质量工程项目(GDJX2018004);2018年广东省教学改革项目(GDJX2018015);2019年校级教学质量工程与教学改革招标项目(JX2019071);2019年校级教学质量工程与教学改革招标项目(JX2019065);2019年广东省教学改革项目(GDJX2019017)
复变函数是一门古老而又富有生命力的学科,它的主要内容是讨论复数域内数量之间的相互关系,解析函数是其主要研究的内容.作为一种研究问题的工具,复变函数还广泛地应用于自然科学的其他众多领域.由于其课程本身理论的抽象和运算的复杂,导致学生经常对该门课程产生畏惧、厌学心理,教学效果极其不好,直接影响后续应用课程的学习.本文讨论了利用MATLAB解决复变函数学习中遇到的一些障碍.我们利用 MATLAB解决复变函数中的计算问题,可以节省时间和人力,提高学习效率.MATLAB可以将复杂函数以图像的形式绘制出来,形象生动,更利于学生理解和掌握,利于教学.
一、MATLAB简介
MATLAB是一个集多功能为一体的数学应用软件,将计算、可视化和编程功能集于一身,其表达式与数学、工程计算中常用的形式十分相似,广泛应用于数学计算、系统建模、数学分析与可视化科学工程绘图,已经成为高等数学、线性代数、自动控制理论等课程的基本工具.MATLAB软件的图像处理系统能够将二维和三维数组的数据用图形表示出来,并可以实现图像处理、动画显示和表达视图等功能.复变函数是微积分在复数域的推广与发展,是大学理工科教学的基础内容,但由于其理论内容抽象,学生仅从课堂上教师的理论讲解并不能够很好地接受与理解.将MATLAB软件引入复变函数的教学当中,不仅可以让学生更加直观地理解复变函数与实变函数的不同之处,而且可以增加课堂教学的生动性.
二、MATLAB在复变函数中的应用
2.1 复变函数的基本计算
由于复变函数的计算较为复杂,数据整理难度较大,传统的人工计算也是一大难题.在课堂上如果使用MATLAB软件来实现一些复杂的计算,就可以大大节省时间,提高学生的学习兴趣和学习效率.
2.1.1 使用MATLAB软件可以快速地计算复数的实部、虚部、辐角和模等内容
例1 a=1/(3+2i),
R=real(a)
M=imag(a)
Con=conj(a)
Abs=abs(a)
Ang=angle(a)
%计算结果
a= 0.2308-0.1538i
R= 0.2308
M= -0.1538
Con =0.2308 + 0.1538i
Abs = 0.2774
Ang = -0.5880
这里虽然只是一个十分简单的例子,但是MATLAB的使用大大地节省了我们的计算时间,我们只需要对软件下达一些简单的指令,就可以快速得到需要的结果,而且可以提高计算的准确度,为我们的学习提供方便.
2.1.2 复变函数解方程
在复变函数中,对于方程的求解我们主要运用的是solve命令来实现的.
例2 求方程x3+8=0的所有根.
>> roots=solve(′x^3+8=0′)
>> roots =[ -2]
[ 1-i*3^(1/2)]
[ 1+i*3^(1/2)]
2.1.3 复变函数积分计算
复变函数主要是针对积分导出方程展开应用的,复变函数的积分是研究解析函数的一个重要工具,解析函数的许多重要性质都是通过积分证明的.复变函数积分的值既跟被积函数有关,也跟积分曲线有关,且有实部和虚部两个变量,因而跟实变函数的积分比起来也是相当的复杂.在教学工作中,我们常常会碰到许多大量的复杂计算,但在MATLAB的帮助下,可以很轻松地得到计算结果.
例3 求∫πi0zcos z2dz的值.
syms x;
f=x*cos(x^2);
df=int(f,x,0,i*pi)
df =
-sin(pi^2)/2
2.1.4 复变函数的Taylor展开
Taylor级数展开在复变函数中有着很重要的地位,比如研究复变函数的解析性等.函数f(x)在x=x0点的Taylor级数展开如下:
f(x)=x0+f(x0)(x-x0)+f′(x0)(x-x0)2!+f″(x0)(x-x0)23!+L
在MATLAB中可由函数Taylor来实现,具体格式为:taylor(f,n,variable,a)
f為需要展开的函数表达式,n声明输出展开式的前n项,variable声明展开变量,a表示变量求导的取值点.
例4 将函数1(1+z)2展开成关于z的幂级数.
% complex05.m
clear
syms z
f=1/(1+z)^2;
F=taylor(f,10,z,0);
%计算结果
F=1-2*z+3*z^2-4*z^3+5*z^4-6*z^5+7*z^6-8*z^7+9*z^8-10*z^9
2.1.5 留数的计算
留数是复变函数中一个重要的内容,留数理论在数学及工程技术中有着广泛的应用.留数定理的本质就是解析函数积分理论的继续,柯西积分定理与柯西积分公式就是留数基本定理的特例,留数定理把解析函数沿封闭曲线的积分计算问题转化为求函数在该封闭曲线内部各个孤立奇点处的留数的和,这充分显示了留数的积分表达形式在解析函数的积分计算中所具有的重要价值.留数定理为计算某些类型的实变量函数的积分和反常积分提供了极为有效的方法,尤其是对那些计算比较复杂或不能直接用定积分来计算的问题,留数理论的实用价值就得到充分的体现,但是方法虽然找到了,有时我们对某些方程求解留数的时候,计算量也是特别的大.MATLAB在进行留数的计算时,先把函数变成有理多项式的分数形式,然后利用residue函数输入分子、分母、有理多项式的系数,最后求出留数以及极点数组和余项.计算留数的命令的格式如下:
[r,p,k]=residue(B,A)
参数r返回留数,是由在不同奇点的留数组成的向量.参數p返回奇点,也是一个向量.参数k是个向量,由B/A的商的多项式系数组成.
例5 求函数z+1z2-2z在孤立奇点处的留数.
[r,p,k]=residue ([1,1],[1,-2,0])
可得奇点2的时候留数为1.5,奇点0的时候留数为-0.5.
Res[f(z),2]=1.5;Res[f(z),0]= -0.5.
2.2 MATLAB的绘图功能
MATLAB不仅具有强大的数字运算功能,还具有强大的二维和三维绘图功能.用户可以利用图形编辑功能直接观察数据间的内在关系,也可以方便地分析各种数据结果.
MATLAB的数据可视化和图像处理两大功能块儿几乎满足了一般实际工程及科学计算中的所有图形图像处理的需要,在数据的可视化方面,根据不同的情况可以转化成相应的图形,且可以对图形做进一步的初级加工,一系列命令与操作足以实实在在地表达各种理想的视图.
复变函数由实部和虚部两个二元实函数组成,因此其图形需要在四维空间中显示.这样,与实函数相比,复变函数图形相对不容易理解.MATLAB软件是利用三维空间加上颜色条显示复变函数的图形.三维视图表现一个空间内的图形,为了使图形的效果更逼真,可以从不同的位置和角度来观察该图形.MATLAB提供了图形视角控制命令函数,主要用于从不同的角度观察图形,不仅有利于学生理解和掌握,也可以大大提高教学效果.
例6 运用MATLAB软件绘制x和x2的复数的函数图像.
程序如下:
z=cplxgrid(20)
cplxmap(z,z)
figure
cplxmap(z,z.^2)
图形如下:
三、结束语
本文通过展示MATLAB在复变函数中的一些具体应用实例,让我们看到了利用MATLAB可以化繁为简,并可以把求解结果用可视化、动态化的形式直观地表现出来,既提高了课堂的学习效率,又培养了学生的学习兴趣,便于学生更加深刻地理解问题的本质及意义.
【参考文献】
[1]贺凯.MATLAB在《复变函数与积分变换》中的应用[J]. 沙洲职业工学院学报,2006(3):22-24.
[2]石博强, 赵金.MATLAB 数学计算与工程分析范例 教程[M].北京: 中国铁道出版社,2005:181-182.
[3]陈静,段振辉.MATLAB 在复变函数与积分变换课程教学中的应用[J].河南机电高等专科学校学报,2011(5):110-112.
[4]杨冰,闫循领.浅谈 Matlab 在《复变函数》教学中的应用[J].科技信息,2010(8):18,20.
[5]张莹.浅谈 Matlab 在复变函数论中的应用[J].沈阳教育学院学报,2005(02):127-128.
[6]郭秀凤,卢亮.MATLAB 在复变函数中的应用[J].科教文汇(中旬刊),2015(3):53-54.
[7]陈耀庚.MATLAB 在《复变函数》教学中的应用[J].科技信息, 2009(6):66.