打开文本图片集
[摘 要]计算机是现代远程开放教育的主要媒介,而MATLAB软件是众多计算机辅助教学软件中应用最广泛的数学工具。将MATLAB应用于数学教学中,可以有效提高教学质量,有助于提高学习者对数学的应用实践能力和创新能力,提高学习者对数学学习的兴趣与信心。文章主要通过列举实例,阐述MATLAB软件在远程开放教育数学课程中的应用。
[关键词]MATLAB;数学教学;远程教育;开放教育
[中图分类号]G434 [文献标识码]A [文章编号]1008-7656(2016)01-0039-05
引言
现代远程开放教育主要是以计算机互联网络为平台,以学生和学习为中心,以多种多媒体技术和现代信息技术为主要手段,面授教学与线上辅导相结合的新型教育教学方式[1]。对于数学而言,普遍存在的特点是:抽象性、复杂性和逻辑性强等。开放教育面授课骤减的现状,依然无法达到数学教学效果的要求,这给数学教学带来了不小的挑战。从学生的心理层面上讲,与教师面对面的教学机会减少,无疑增添了不少压力,对数学更是敬而远之,逐渐减低了对数学学习的兴趣。从学习效率层面来讲,学生课外之余必须花更多时间进行自主学习,学习时间也是碎片化的,并且许多问题和疑惑得不到及时的解答,这对于数学学习是非常不利的。作为一名远程开放教育改革中的数学教师,直面挑战的同时,也应抓住机遇,以现代远程教育技术为帆,助我们乘风破浪,更好地为教学服务,为学生服务。MATLAB软件是众多计算机辅助教学软件中的一种应用最广泛的数学工具,具有强大的数值计算功能、丰富的图像处理功能、动态演示和模拟仿真功能等。MATLAB语言简短易懂,既不需要有多么丰富的数学理论知识,也不需要多么深厚的计算机编程功底。将MATLAB应用于数学教学中,是将现代远程教育技术有效结合到开放教育教学的充分体现,从而提高教师数学教学的质量,方便学生线上线下自主学习,提高学生对数学的应用实践能力和创新能力,重拾对数学学习的兴趣与信心。文章主要通过几个简单实用的例子,阐述MATLAB软件在远程开放教育数学课程中的应用。
一、MATLAB在微分中的应用
微分在高等数学中是一个非常重要的基础内容,学习好微分对后续内容的学习非常关键。MATLAB软件可以通过简短的语言程序就能求解任意阶导数,非常方便快捷,特别遇到复杂函数求导时,可以省略很多中间繁杂的步骤,有助于加深学生对相关导数概念的理解。
在MATLAB语言中,常使用diff函数来进行微分和求导运算,使用jacobian函数实现多元符号函数的求导,下面分别对这两个函数举例说明其应用。
(一)使用diff函數求微分
例1求y =x2 lnx+cosx2的微分。
解:在命令窗口中输入如下命令,并按Enter键确认。
>>syms x
>> f=sym(x^2*log(x)+cos(x^2))
f =
x^2*log(x)+cos(x^2)
>> diff(f) %对默认自变量x求微分
ans =
2*x*log(x)+x-2*sin(x^2)*x
>> diff(f,2) %对默认自变量求二阶微分
ans =
2*log(x)+3-4*cos(x^2)*x^2-2*sin(x^2).
所以dy =(2logx+3-4x2cosx2-2sinx2)dx.
以上是单自变量时的微分。下面举个例子是对多个自变量的函数中的某个自变量求导。
例2求f =sin(x+y 2-ez)的偏导数fz。
解:在“命令”窗口中输入下列命令,并按下Enter键确认。
>>syms x y z
>> diff(sin(x+y-exp(z)),z) %对自变量z求偏微分
ans =
-cos(x+y-exp(z))*exp(z)
>> diff(sin(x+y-exp(z)),z,3) %对自变量z求三阶偏微分
ans =
cos(x+y-exp(z))*exp(z)^3-3*sin(x+y-exp(z))*exp(z)^2-cos(x+y-exp(z))*exp(z) .
fz =cos(x+y-ez)e3z-3sin(x+y-ez)e2z-cos(x+y-ez)ez.只要改变diff函数中的变量也同样可以求出关于x和y的偏导数。
(二)使用jacobian函数求多元符号函数的导数
例3求多元函数f1 =xeyz+e-z+y和f2=xyesin(xy)的偏导数。
解:在“命令”窗口中输入下列命令,并按下Enter键确认。
>>syms x y z
>>f=[x*exp(y*z)+exp(-z)+y;x*y*exp(sin(x*y))]
f =
[ x*exp(y*z)+exp(-z)+y]
[ x*y*exp(sin(x*y))]
>> jacobian(f,[x,y]) %此时向量v是jacobi矩阵[x,y],可以同时求出关于自变量x,y的偏导数。
ans =
[ exp(y*z),x*z*exp(y*z)+1]
[y*exp(sin(x*y))+x*y^2*cos(x*y)*exp(sin(x*y)),x*exp(sin(x*y))+x^2*y*cos(x*y)*exp(sin(x*y))].
所以只需用一个程序就可以同时得到:
f 1x= e yz ,f1y=xze yz+1;
f2x=ye sin(xy)+xy2 cos(xy) e sin(xy),
f2y=xe sin(xy)+x2ycos(xy)e sin(xy).
二、MATLAB在积分中的应用
在计算函数积分特别是多重积分时,需要考虑积分区间和积分区域,不同的积分区间会得到不同的结果,稍不注意就很容易出错,利用MATLAB软件可以帮助学生快速验算计算結果,提高准确率,节省时间。积分的调用格式非常简单,只需要套用两三句简单语言就能轻松解决非常复杂的积分问题。
(一)求解单变量数值积分问题
例4求不定积分∫e sin x sin2 xdx.
解:建立M文件如下:
syms x;
g=int(exp(sin(x))*sin(2*x),x)
g =
2*exp(sin(x))*sin(x)-2*exp(sin(x)).
所以原不定积分为:g (x)=2e sin x sinx-2esinx.
(二)求解二重积分数值解问题
考虑二重积分
l=∫yMym∫xMxm f(x,y)dxdy,
MATLAB提供的dblquad函数可以直接求出上述二重积分的数值解,该函数的调用格式如下:
Y=dblquad(fun,xm,xM,ym,yM ) 矩形区域的二重积分
Y=dblquad(fun,xm,xM,ym,yM ,t)限定精度的二重积分。
例5计算二重积分∫10 x2dx ∫10 e-y2 dy。
解 在命令窗口中输入以下命令,按下Enter键得:
>> f=inline("x.^2*exp(-y.^2)","x","y");
>> y=dblquad(f,0,1,0,1)
y =
0.2489 .
所以∫10 x2dx ∫10 e-y2 dy =0.2489.
三、MATLAB在级数求和与展开中的应用
高等数学中的级数求和与展开是非常繁杂的,特别需要耐心与细心,MATLAB软件可以求解无穷项级数的和、Taylor幂级数前项展开式以及傅里叶级数的展开等,通过MATLAB软件教学的展示可以让学生感受数学的微妙,从而提高数学学习的兴趣与信心。
MATLAB中可用于求级数的函数有:
(1)symsum(s,v,a,b)自变量v在[a,b]之间取值时,对通项s求和;
(2)toylor(F,v,n)求F对自变量v的泰勒级数展开至n阶。
(一)级数求和的计算
无穷级数求和S=ano+...+ann的符号函数的调用格式为symsum(a,n,no,nn),其中a表示一个级数的通项,n是一个符号表达式,是求和变量(n可以省略,省略时,使用系统的缺省变量),no和nn是求和的开始项和末项。
例6求级数[++…++…]的和数。
解 建立M文件如下:
syms n,
symsum(1/((5*n-4)*(5*n+1)),n,1,inf)
>>
ans =
1/5 .
所以[++…++…=] 。
(二)Taylor幂级数展开
例7求函数y=xarctanx-ln[]的泰勒级数展开式。
解 (1)函数在y=f ( x )在x=10处的泰勒展开式.
建立M文件如下:
syms x,y=x*atan(x)-log(sqrt(1+x^2)),
taylor(y,10) %默认为在x=10处泰勒展开式的前5项
>>
y =
x*atan(x)-log((1+x^2)^(1/2))
ans =
1/2*x^2-1/12*x^4+1/30*x^6-1/56*x^8 %默认为前5项的展开式%。
所以原函数在x=10处的泰勒展开式为
f ( x )=[x2-x4+x6-x8+……].
(2)函数y=f(x)对自变量x的泰勒展式前5项。
建立M文件如下:
syms x,y=x*atan(x)-log(sqrt(1+x^2)),
taylor(y,x) %默认为对自变量x的泰勒展开式前5项
>>
y =
x*atan(x)-log((1+x^2)^(1/2))
ans =
1/2*x^2-1/12*x^4 .
所以函数y=f(x)对自变量x的泰勒展式前5项为 [f (x)=x2-x4]。
(3)函数y=f (x )对自变量x的泰勒展式前15项。
建立M文件如下:
syms x,y=x*atan(x)-log(sqrt(1+x^2)),
taylor(y,x,15) %对自变量x求15阶展开式
>>
y =
x*atan(x)-log((1+x^2)^(1/2))
ans =
1/2*x^2-1/12*x^4+1/30*x^6-1/56*x^8+1/90*x^10-1/132*x^12+1/182*x^14.
所以函数y= f (x )对自变量x的泰勒展式前15项为
(4)函数y=f (x )在x=1处的泰勒展式前8项。
建立M文件如下:
syms x,y=x*atan(x)-log(sqrt(1+x^2)),
taylor(y,x,8,1) %对于自变量x在x=1处的8阶泰勒展开式
>>
y =
x*atan(x)-log((1+x^2)^(1/2))
ans =
1/4*pi-1/2*log(2)+1/4*pi*(x-1)+1/4*(x-1)^2-1/12*(x-1)^3+1/48*(x-1)^4-1/240*(x-1)^6+1/336*(x-1)^7 .
所以函数y=f (x )在x=1处的泰勒展式前8项为
四、利用MATLAB解决数学中的图形处理问题
以上几节内容简单介绍了MATLAB语言的符号计算与数值计算功能在高等数学中的应用,但是MATLAB软件与其它数学软件最大区别在于MATLAB的可视化效果功能。MATLAB可以画二维、三维图形,甚至高维的图形,但是高等数学中使用较多的是三维以下图形,所以本章重点介绍用MATLAB描绘二维、三维图形。
(一)隐函数的图像
对于一些以方程形式给出的函数f (x )往往无法用关于x的算式表达出来,像这种类型的函数被称之为隐函数.MATLAB提供了一类画隐函数图像的符号函数,这个对于我们研究隐函数的存在性、连续性、可微性等函数性质带来了很大的便利.该符号函数为“ezplot”,其调用格式如下:
表示在区间xmin 例8 绘制笛卡儿叶形线x3+y3-3axy=0隐函数的图像(这里取a=1)。 解 在命令窗口中直接输入命令: >>ezplot("x.^3+y.^3-3*x*y",[-2,3,-2,3]) (二)二元函数的极限与连续性 讨论二元函数的极限与连续性问题是数学许多课程中的一个重点与难点,它既是前面一元函数的继承与发展,又是后面研究函数的微积分、收敛与一致收敛等重要性质的基础,所以理解与掌握好二元函数的极限与连续性是关键。对于这个问题本文第二章已有介绍它们的计算机求解,这里将通过图像帮助我们对其进行进一步理解。 例9讨论函数 在(0,0)点极限的存在性与连续性。 解 建立M文件如下: [x,y]=meshgrid(-4:0.125:4); z=sin(x*y)./sqrt(x.^2+y.^2); mesh(x,y,z) 由图像我们可以知道原函数在原点的极限存在,值为0,且在R2上连续。 (三)多個三维图形 在高等数学中经常会遇到这样的问题:在同一坐标系下,描绘出两个曲面的共同区域,比如在三重积分与第一、第二型曲面积分等的计算中就需要写出积分区域,而这些积分区域往往就是由两个或者多个曲面的边界所围成,但是对于复杂的曲面是很难描绘的,这里MATLAB却是可以做到的。 例10在同一坐标系内描绘曲面z1=2(x2+y2)与平面z2=x+y-1。 解 建立M文件如下: x=-5:0.2:5; y=-5:0.2:5; [x,y]=meshgrid(x,y); z1=2*(x.^2+y.^2); z2= x+y-1; surf(x,y,z1); hold on surf(x,y,z2); 借助简短的MATLAB语言将两个曲面描绘在同一坐标系下,我们就可以很直观的观察它们的图像关系,进一步分析他们所围成的区域。从这里我们可以看到MATLAB作图突出的是它的可视化效果,要真正融入到数学的解题中,还需要我们进行一些人工的转化,毕竟它对我们的学习起到的只是辅助作用而已。 五、结语 文章主要列举了MATLAB软件在数学课程中微积分、级数求和与展开以及图像描绘等重要问题的应用实例,这些内容都是《高等数学基础》、《经济数学基础》、《数学分析专题研究》、《微积分初步》等国家开放大学统设课程的核心内容。对于开放教育学生来说,数学内容复杂难懂,学习起来枯燥乏味,但是如果教师能充分利用MATLAB软件进行辅助教学,可以起到化繁为简、化抽象为直观的效果,有助于提高数学教学质量,还可以提高学生学习的兴趣和信心。将MATLAB应用于数学教学中,能增强知识的可视性,帮助学生加深对内容的理解,使学生更好地掌握所学知识。 [参考文献] [1]张金河,周显玲. 远程开放教育数学课程的现状及对策[J]. 厦门广播电视大学学报, 2006(1). [2]郑玉敏,杨喜庆,刘崇华等. MATLAB在高职应用数学教学中的应用[J]. 产业与科技论坛,2015(3). [3]孙文兵,唐昆山,刘琼. MATLAB软件在高等数学中的应用[J]. 邵阳学院学报(自然科学版),2015(3). [4]华东师范大学数学系.数学分析,上册(第三版)[M]. 北京:高等教育出版社,2001. [5]华东师范大学数学系. 数学分析,下册(第三版)[M]. 北京:高等教育出版社,2001. [6]飞思科技产品研发中心. MATLAB7基础与提高[M]. 北京:电子工业出版社,2005. [7]詹在东,李建华. MATLAB在数学分析中的应用[J]. 洛阳师范学院学报,2005(2). [8]周德亮,白岩.用MATLAB解决高等数学中的图形问题[J]. 数学的实践与认识,2002(1). [作者简介]潘玉娜,女,广西广播电视大学理工学院教师,硕士,研究方向:远程数学教育。 [责任编辑 王 伟]