网站首页  词典首页

请输入您要查询的论文:

 

标题 MATLAB在《复变函数与积分变换》中的应用
范文

    周后卿+徐幼专

    

    

    摘要:《复变函数与积分变换 》是工科类学生的一门重要基础课,既是《高等数学》的后续课程,也是学习其他专业课程的有力工具。该文探讨如何应用MATLAB辅助《复变函数与积分变换》教学的问题。

    关键词:复变函数与积分变换;MATLAB;应用

    中图分类号:G642.0 文献标识码:A 文章编号:1009-3044(2018)04-0089-03

    计算机辅助教学在大学数学教学中越来越普遍,利用MATLAB软件,已成为教师的首选。MATLAB凭借强大的符号运算、大量的函数以及统计、最优化、偏微分方程数值解等工具箱,已经成为运筹学、多元统计、时间序列分析、数字信号处理、动态系统仿真、图像处理、自动控制理论等课程教学中的必备教学工具,深受师生的喜欢和信赖。在《复变函数与积分逆变换》课程教学中,MATLAB也大有可为,许多内容都可以用到这个软件。我们通过一些实例,阐述MATLAB在这门课程中的应用。通过运用这个软件,达到降低内容难度,提振学生学习的士气,帮助学生加深、了解、掌握知识点,培养学生运用软件解决问题的能力。

    1 利用MATLAB作图

    我们知道,MATLAB提供了强大的图形处理和编辑功能,能够将经过数据处理、运算和分析后的结果通过图形的方式直观地进行表示。作图的原理是先计算离散自变量上对应的函数值,然后将这些点描绘出来;对于连续函数的话,则可以通过微分思想来进行,即不断减小离散点的间隔后,绘制这些数据。通过MATLAB作图,直观反映函数,把复杂问题简单化,学生容易接受与理解。例如,在实数域中,对于实变量函数,不妨设正弦函数,它是一个一元函数,它的图形是一条曲线(见图1)。代码如下:

    x=0:0.01:2*pi;

    y=sin(x);

    plot(x,y, 'r') 红颜色用“r”表示。

    对这个图形,学生很熟悉。但是,在复数域中,对于复变量函数的图像,到底是啥样?学生不清楚;特别是说不成立,学生更不清楚。为了形象说明这一性質,我们借助MATLAB,就很容易画出它的图形(见图2)。用Z轴表示sinz的模,作出|sinz| 的图像,其MATLAB程序如下:

    x=[0:pi/5:7*pi],

    [x,y]=meshgrid(x),

    z= x+i*y,

    u=sin(z),

    surf(x,y,abs(u))

    学生通过观看图像,就容易区分它们之间的差异,也就能明白一定条件下了。

    2 MATLAB在复变函数与积分变换计算中的应用

    MATLAB在复变函数与实变函数中的计算有着相似之处,不管自变量是实数还是复数,都是将自变量的值直接代入函数表达式中去计算。可以利用MATLAB对一个复常数进行基本的求模,求幅角,求实部、虚部的运算。更进一步地,还可以求复数的指数、对数,对复数进行三角运算,举几个例子加以说明。

    例1 求下列复数的实部,虚部,共轭复数,辐角,模

    ,,。

    解 代码如下:

    z=[((1-i)/(1+i)).^7; i/(1-i)+(1-i)/I; i.^18],

    real(z), % 求复数的实部

    imag(z), % 求复数的虚部

    conj(z), % 求复数的共轭复数

    angle(z), % 求复数的辐角

    abs(z), % 求复数的模

    运算的结果:

    z =

    0+1.0000i

    -1.5000-0.5000i

    -1.0000

    ans =

    0

    -1.5000

    -1.0000

    ans =

    1.0000

    -0.5000

    0

    ans =

    0-1.0000i

    -1.5000+0.5000i

    -1.0000

    ans =

    1.5708

    -2.8198

    3.1416

    ans =

    1.0000

    1.5811

    1.0000

    用MATLAB计算优势在于能够对多个复数同时进行计算,不用单独一个一个地去求。

    例2 求方程的解。

    解法一(常规解法)将代数式化为三角式,原方程为。所以,的三次方根为: ,也即

    。

    解法二(用MATLAB计算)

    代码如下:

    roots=solve('z^3+1=0'),

    运算结果:

    roots =

    -1

    1/2+(3^(1/2)*i)/2

    1/2-(3^(1/2)*i)/2

    用MATLAB计算显得非常简单。

    如果先将方程写成幂的形式:,这是一个多值函数,那么,MATLAB仅仅对其主值(k=0时)进行计算。

    解法三 代码如下:

    (-1)^(1/3)

    结果显示;

    ans =0.5000+0.8660i。

    由此看出,利用这个方法,只能得到一个答案。所以,一般不选择此类解法。

    我们都知道,MATLAB除了简单的加、减、乘、除、乘方、开方运算外,还有更强大的计算功能,如微积分运算。首先,用MATLAB来极限,举例如下。

    例3 求极限 。

    解 代码如下:

    syms z,f=z/sin(z),limit(f,z,0),

    运算结果:

    f=z/sin(z),ans=1,

    即 。

    其次,还可用MATLAB求复变函数的导数,例如:

    例4 求函数的导数。

    解 代码如下:

    syms z,f=z/((1+z)*sin(z)),diff(f),

    运算结果:

    f =z/(sin(z)*(z+1)),

    ans =

    1/(sin(z)*(z+1))-z/(sin(z)*(z+1)^2)-(z*cos(z))/(sin(z)^2*(z+1)),

    也即,。

    用MATLAB求复变函数的定积分,在形式上与实变函数的定积分相同,只是积分限由实数变成复数而已。格式为:int(function,variable,a,b),其中,function为函数表达式,variable为积分变量,a,b分别为积分下限、上限。

    例5 计算定积分 。

    解 代码如下:

    syms z,f=z*cos(z),inf=int(f,z,0,i),

    结果显示:

    f=z*cos(z),inf=1/exp(1)-1,

    即。

    3 MATLAB在级数展开中的应用

    一个函数在一个区域内解析,那么这个函数在这个区域内就能展开成泰勒级数,这是复变函数的一个重要内容,也是学生感到困难的地方。利用MATLAB,我们就很容易掌握函数在一点展开成级数的方法。具体格式为F=taylor(f,n,variable,a), taylor表示泰勒级数,n表示展开式的项数,variable表示变量, a表示在这点展开。

    例6 将函数 展开成泰勒级数。

    分析: 如果没有特别说明,將函数在哪一点展开泰勒级数,一般是默认为在原点把函数展开成麦克劳林级数,当然,前提是函数在原点要解析。所以,这里就是在处展开。

    解 代码如下:

    syms z,f=1/(1+z)^2,F=taylor(f,10,z,0),

    运算结果显示:

    f=1/(z+1)^2,

    F=-10*z^9+9*z^8-8*z^7+7*z^6-6*z^5+5*z^4-4*z^3+3*z^2-2*z+1,

    即 。

    4 MATLAB在留数计算中的应用

    利用MATLAB计算留数问题,将复杂繁琐的计算交由计算机处理,使运算变得简单快捷,能充分调动学生学习积极性、创造性。对于形如函数(均为的多项式)在孤立奇点处的留数,其留数格式为[r,p]=residue(B,A),其中,r表示留数,p表示极点;B、A分别表示函数的系数组成的行向量。在计算时,只需写residue(B,A)即可。

    例7 求函数在孤立奇点处的留数。

    解 首先写出分子、分母两个多项式的系数向量,然后再去求residue(B,A)。代码如下:

    B=[1,11,39,52,26],A=[1,10,35,50,24],[r,p]=residue(B,A),

    运算结果显示:

    B =1 11 39 52 26

    A =1 10 35 50 24

    r = p=

    1.0000 -4.0000

    2.5000 -3.0000

    -3.0000 -2.0000

    0.5000 -1.0000

    也即,当极点p=-4时,留数r=1,余下类推。

    若函数的形式不是有理分式时,只能先判断的极点重数,然后根据公式

    来求,这里、分别表示极点、极点重数。它的MATLAB格式如下:

    ,这里,prod(1:m-1)表示1到m-1连乘积。

    例8 求函数在的留数。

    解 首先判断是函数的三重极点,即。写出计算留数的MATLAB格式:

    limit(diff(sym('z^3*(1-exp(z))/z^4'),'z',2)/prod(1:2),'z',0)。

    运算显示: ans=-1/6,即函数在的留数为。

    5 MATLAB在傅里叶变换中的应用

    傅里叶变换是积分变换的重要内容之一,也是难点之一,利用MATLAB可以轻松化解难点。我们知道,傅里叶变换的公式为;那么利用MATLAB求傅里叶变换的格式为F=fourier(Fun,t,w),即将t的函数变成w的函数。

    例9 求函数的傅里叶变换。

    解 代码如下:

    syms t w,ft=sin(2*t),F=sym(fourier(ft,t,w))。

    显示如下

    ft=sin(2*t),

    F=-pi*(dirac(w-2)-dirac(w+2))*i,

    即 。

    傅里叶逆变换的公式为 。在MATLAB中使用ifourier函数来实现逆变换,格式如下:f=ifourier(Fw,w,t),默认w为独立变量,默认返回函数是以x为自变量的函数。

    例10 求函数的傅里叶逆变换。

    解 代码如下:

    syms w,F=sin(w)/w, f=simple(ifourier(F)),

    运行后显示:

    F=sin(w)/w,

    f=heaviside(x+1)/2-heaviside(x-1)/2,这里,heaviside表示单位阶跃函数。

    即 。

    6 MATLAB在拉普拉斯变换中的应用

    积分变换中有两个常用的变换,拉普拉斯变换就是其中一个。由于拉普拉斯变换在专业课程、在工程技术中有着广泛的应用,因此熟练掌握MATLAB方法,用它解决一些拉普拉斯变换问题显得十分有意义。

    求时域函数f(t)的laplace变换F(s),格式为 F=laplace(f,t,s)。

    设F是s的函数,参数s省略,返回結果F默认为s的函数;f为t的函数,当参数t省略,默认自由变量为t。

    例11 求函数的拉普拉斯变换。

    解 代码如下:

    syms t s a b, f=exp((-a)*t)*sin(b*t),F=laplace(f,t,s),

    运行后显示:

    f=sin(b*t)/exp(a*t),

    F=b/((a+s)^2+b^2),

    即 。

    对于拉普拉斯逆变换,常用的方法是留数法,部分分式法(即先将函数分解成一些简单的式子,然后再反求),查表法等等。如果借助MATLAB,根本就不需记忆这么多,很容易求出逆变换,格式为 f=simple(ilaplace(F)),对于f默认t为自变量;对于F,默认s为自变量。

    例12求的拉普拉斯逆变换。

    解 代码如下:

    syms t s, F=1/((s+1)*s^2),f=simple(ilaplace(F)),

    运行后显示:

    F=1/(s^2*(s+1)),

    f=t+1/exp(t)-1,

    即 。

    7 结束语

    在《复变函数与积分变换》教学中,将 Matlab 软件引入课堂教学,利用Matlab软件在绘图和计算方面的优势,可以将抽象复杂的学习内容,用可视化、动态化的形式 直观地表现出来,以促进学生对知识深入理解;同时还可以简化繁琐的计算

    过程,让学生有更多时间和精力去体会和掌握课程的精髓,激发学生的学习兴趣,让数学学习变得生动有趣。通过上面一些具体例子,我们可以看出, MATLAB对学习确实有很大帮助,利用它能够解决很多计算问题,作图问题;能够化难为易,原来难以理解的问题变得迎刃而解。

    参考文献:

    [1] 周建兴, 岂兴明, 矫津毅, 等. MATLAB从入门到精通[M]. 北京: 人民邮电出版社, 2008.

    [2] 茹静. 《复变函数与积分变换》实验教学的实践和探讨[J]. 吉林化工学院学报, 2015, 32(10):5-9.

    [3] 徐彬. Matlab在复变函数与积分变换课堂教学中的应用[J]. 湖北理工学院学报, 2016, 32(3):68-72.

    [4] 韩英, 陈佳旗. 复变函数的可视化问题研究[J]. 北京石油化工学院学报, 2012, 20(4):61-64.

    [5] 王泽龙, 谢美华. 可视化在复变函数教学中的运用[J]. 高等数学研究, 2016, 19(4):56-57, 60.

随便看

 

科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。

 

Copyright © 2004-2023 puapp.net All Rights Reserved
更新时间:2025/2/11 3:45:51