浅析matlab与mathematica在数学教学中的应用

2014-04-29 01:27蒋定兵
中学课程辅导·教学研究 2014年16期
关键词:数学教学应用

蒋定兵

摘要:早在1989年,著名科学家钱学森教授在“中国数学会教学与科研座谈会”上就提出:“电子计算机的出现对数学科学的发展产生了深刻的影响,理工科大学的数学课程是不是需要改造一番。”的确,Matlab和Mathematica软件的出现,给数学领域的教学、科研和学习带来了巨大的变化和便利。

关键词:matlab;mathematica;数学教学;应用

中图分类号:G633.6 文献标识码:A 文章编号:1992-7711(2014)06-0127

Matlab的含义是“矩阵实验室”,是MATrix LABoratory 的缩写,是美国Mathworks公司推出的一个高性能的科技计算软件,它集数值计算、符号运算、图形图像处理、编程等多种功能于一体,应用非常广泛。MATLAB系统的强大功能由其核心内容(语言系统、开发环境、图形系统、数学函数库、应用程序接口等)和辅助工具箱(符号计算、图象处理、优化、统计和控制等工具箱)两大部分构成。

Mathematica 是由Wolfram 公司设计开发的一个数学软件,作为一种交互式数学工具软件,它的功能主要有两个方面:计算功能和作图功能。它有以下特点:①以符号运算为主,进行符号运算时非常方便。它能够做微积分中许多运算,如求极限、求导数、求不定积分、求定积分、求解微分方程、幂级数展开和幂级数的运算等;还能够做向量和矩阵的一系列运算。②绘图功能十分强大和便利,能够做平面图形( 直角坐标作图和极坐标作图,还有参数方程作图) ,也能做三维的曲面、曲线图形;③Mathematica 是通过函数、方程绘制图形的,与数学绘图的习惯一致,用户不需编制复杂的程序,直接调用内部函数和外部函数,就可以完成图形的绘制及特性的分析;④在Mathematica 环境下,绘制的空间图形是活动的,通过改变观察角度,可达到最佳的视觉效果;⑤包含文本编辑和文件处。

使用matlab与mathematica来求解学习中所涉及的数学问题, 可以培养学生学习数学的兴趣, 也可以达到提高应用计算机来解决数学问题的能力,这是当前数学教学改革的重要方面。本文的目的就是通过探讨matlab与mathematica软件在微积分、线性代数、函数作图等方面的应用,并进行对比分析, 突出数学工具的不同特点,激发学生对二者的学习兴趣,培养学生运用数学工具解决数学问题的思维。

一、Matlab和Mathematica软件在计算上的应用

1. MATLAB和Mathmatica在积分计算中的应用

Matlab计算不定积分的使用格式:int(f,var),计算定积分的使用格式:int( f,var,a,b)。其中,f为被积函数,var为积分变量,a为积分下限,b为积分上限。

Mathematica 中提供求积分的函数是Integrate。计算不定积分的调用格式是Integrate[f[x],x],它计算的是!f(x)dx,但结果中不含积分常数C;计算定积分的调用格式是Integrate[f[x],{x,a,b}],其中a,b分别是积分的下限和上限。

2. MATLAB和Mathmatica在矩阵计算中的应用

Matlab的所有运算都是基于矩阵的,利用Matlab 强大的矩阵处理功能,可以非常方便地解决线性代数中手工计算非常繁琐的一些问题,例如求行列式的值、矩阵的逆、矩阵的秩、线性方程组的求解等。

3. MATLAB 和Mathmatica 在求解线性方程组中的应用

例1. (1) 求下列线性方程组的通解。

x1+2x2+4x3+6x4-3x5+2x6=42x1+4x2-4x3+5x4+x5-5x6=33x1+6x2+2x3+5x5-9x6=-12x1+3x2+4x4+x6=8-4x2-5x3+2x4+x5+4x6=-55x1+5x2-3x3+6x4+6x5-4x6=25x1+5x2-3x3+6x4+6x5-4x6=2

(2) 求上述線性方程组的增广矩阵A 的列向量组的一个极大线性无关组,并把其余向量用极大线性无关组线性表示。

Matlab程序设计:

>>A=[1 2 4 6 -3 2 4; 2 4 -4 5 1 -5 3;3 6 2 0 5 -9 -1;2 3 0 4 0 1 8;0 -4 -5 2 1 4 -5;5 5 -3 6 6 -4 2];

>>J=rref(A);

运行结果:

J =

1.000000 0 06.806811.0972

0 1.0000 0 0 0-2.2520-0.4192

0 01.00000 0-0.2041-1.1384

0 00 1.00000-1.4644-3.2342

0 0001.0000 -3.1000-5.9000

0 0000 0 0

结果说明:

(1)线性方程组的通解为:

k(6.08068 2.2520 0.2041 1.4644 3.1000 1)+(11.0972 -0.4192 -1.1384 -3.2342 -5.900)

(2) 所求极大线性无关组为:a1,a2,a3,a4,a5。而其余向量用极大线性无关组可表示为:

a6=6.08068a1-2.2520a2-0.2041a3-1.4644a4-3.1a5

a7=11.0972a1 -0.4192a2 -1.1384a3 -3.2342 a4-5.9a5

Mathematica程序设计:

In:=A={{1,2,4,6,-3,2},{2,4,-4,5,1,-5},{3,6,2,0,5,-9}, {2,3,0,4,0, 6},{0,-4,-5, 2,1, 4},{5,5,-3,6,6,-4}};

b={4,3,-1,8,-5,2};

A={{1,2,4,6,-3,2,4},{2,4,-4,5,1,-5,3},{3,6,2,0,5,-9,-1},{2,3,0,4,0,6,8},{0,-4,-5,2,1,4,-5},{5,5,-3,6,6,-4,2}};

RowReduce[A] // MatrixForm

Out // MatrixForm =100000■010000-■001000-■000100-■000010-■000001 0

In:=Solve[A.{x1,x2,x3,x4,x5,x6}==b,{x1,x2,x3,x4,x5,x6}]

Out={{x1→■,x2→-■,x3→-■,x4→-■,x5→-■,x6→0}}

In:=LinearSolve[A,b]

Out={■,-■,-■,-■,-■,0}

对比分析:从程序设计看,Matlab比Mathematica简捷,且运行速度更快。

二、Matlab 和Mathematica 软件在绘图方面的应用

有些函数的图像,使用一般的图形图像处理软件如Photoshop 等很难画出来,而使用Matlab和Mathematica 软件 却能很方便地对我们输入的函数绘出相应的图形。我们可以在Matlab Matlab和Mathematica 软件中选择直角坐标、极坐标等不同的坐标系;可以绘出平面曲线、空间曲线、柱状图等;也可对图形作进一步的加工,如标注、添色等。

1. Matlab和Mathematica软件在二维绘图方面的应用

例2. 画出y1=sinx和y2=cosx在区间[ 0,2π]的图像,正弦曲线用红色的实线画出,余弦曲线用蓝色的虚线画出。

Matlab程序设计:

>>x=0:0.1:2pi;

>>y1=sin(x);

>>y2=cos(x);

>>plot(x,y1,‘r,x,y2,‘b) %plot 是平面直角坐标绘图命令,r 表示图形的颜色为红色,b表示蓝色。

>>title(‘正弦和余弦曲线)%给出图标题

>>xlabel(‘time)%给出x 轴标注

>>ylabel(‘value of function) %给出y轴标注

运行结果(略)

Mathematica最基本的二维函数作图由系统函数实现这个函数的使用形式有两种:

Plot[表达式变量、下限、上限, 可选项]

Plot[表达式,表达式……,变量,下限,上限可选项]

第一个使用形式用于作一个函数表达式的图形, 第二个形式用于在一个图里作多个函数表达式的图形。

Mathematica程序设计:

In:=y1[x_]=Sin[x];

y2[x_]=Cos[x];

t1=Plot[y1[x],{x,0, 2*Pi},PlotStyle -> {RGBColor[1,0,0]},

AxesLabel -> {“time”,“value of function”}];

t2=Plot[y2[x],{x,0,2*Pi},PlotStyle -> {RGBColor[0,0,1]},

AxesLabel->{“time”,“value of function”}];

Show[t1,t2];

运行结果(略):

2. Matlab 和Mathematica 软件在三维绘图方面的应用

Matlab 提供了多个三维绘图命令, 我们以三维曲线命令plot3 为例来看三维作图的用法。

例3. 绘制螺旋线:x=2cost,y=3sint,z=t的图像。

Matlab程序设计:

>>t=0:pi/50:10*pi;

>>plot3(2*cos(t),3*sin(t),t)

运行结果(略):

Mathematica程序:

ParametricPlot3D[{2*Cos[t],3*Sin[t],t},{t,0,10π}];

运行结果(如图):

对比分析:二者基本相当,但MATLAB程序设计容易理解、方便输入,而Mathmatica则在输入方面较为复杂,更容易出错,二者都表現出画图的强大功能。

三、结束语

综上所述,Mathmatica和MATLAB 是功能强大、运用广泛的数学工具,通过二者在微积分、线性代数、函数作图等方面应用的展示(当然,二者在其他方面入数字信号处理、工程计算等有很应用),了解二者功能的不同特点,掌握二者在数学教学、学习、科研中的基本应用,减少数学学习的难度,改变数学的抽象观点,直观展现数学的风采,同时培养学生运用数学工具解决数学问题的思维及创新思维能力,激发学生学习数学和对数学工具的兴趣。

猜你喜欢
数学教学应用
数学教学中引发创造性思维的技能探究
例谈数学教学中辩证唯物主义的渗透
对数学教学实施“素质教育”的认识
多媒体技术在小学语文教学中的应用研究
基于学生主动学习意识培养的数学教学方法研究
注重交流提升数学学习广度和深度探讨
数学教学中“量感”的教学探究
分析膜技术及其在电厂水处理中的应用
GM(1,1)白化微分优化方程预测模型建模过程应用分析
煤矿井下坑道钻机人机工程学应用分析