APP下载

MATLAB_GUI 在定积分教学中的应用

2016-01-05黄师化

电脑知识与技术 2015年31期
关键词:数值积分

黄师化

摘要:利用MATLAB_GUI界面编程实现了一元函数定积分的运算及可视化,只需在操作界面上输入函数表达式和积分区间,即可得出相应的结果,并绘制出函数图像和积分区域,使学生对枯燥的数值积分有直观形象的理解。

关键词: MATLAB_GUI;数值积分;可视化计算

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2015)31-0115-02

The Application of Matlab _Gui in the Definite Integration

HUANG Shi-hua

(Anqing Normal University, Anqing 246133, China)

Abstract: MATLAB_GUI interface programming is engaged to achieve the calculation and visualization of the definite integral of one variable functions. By typing function expression and the integral interval,the outcomes will include functional image,integral region and the related results, which benefits visual image of understanding on the dull numerical integration.

Key words: MATLAB_GUI; numerical integration; visualization of calculation

高等数学重要内容分为两大块:一元与多元微积分学,学生要学好高等数学,对一元函数微积分学的掌握是关键。 其中,一元函数定积分学好与否,对于学生更加深入学习并运用数学知识有重要铺垫作用。但是,在实际教学过程中,由于函数内容本身的抽象性及定积分计算的复杂性,往往不能对此部分的知识进行很好的诠释,一方面学生觉得枯燥,难度大,另一方面,课堂上教师要花费大量时间和精力在黑板上计算、绘图却收效甚微。MATLAB 是一种集算法开发,数值计算、数据可视化等功能于一体的优秀的数学工具软件,本文利用其内置的几种数值求积函数得出被积函数在积分区间的积分值,同时使用其强大的绘图功能绘制出函数的图像,并在图像上标明积分区域,使得整个求解过程及计算结果完全可视化。

1 MATLAB _GUI 设计的操作界面及功能[1]

GUI( Graphical User Interfaces) 是图形用户界面的简称,借助于 MATLAB 软件出色的符号运算、数值计算、图形处理等功能及 GUIDE 编辑器,设计一个美观、简洁、明了的图形操作界面。本界面使用了GUI中三个文本框(edit)控件,分别用来输入被积函数、变量区间、积分区间,一个列表框(listbox)显示积分结果。一个下拉列表(popupmenu)控件,用于选择求积方法,一个坐标轴(axes)控件用于显示函数图像及积分区域。其他五个为命令按钮(pushbutton)控件,控制计算和绘图等功能。

图1 一元函数定积分计算的图形界面

2 一元定积分运算的实现

函数的积分运算的实现可分为三个模块:(1)从界面上提取用户的输入,并对部分数据转换类型。(2)依据选择的方法运算并输出运算结果到运行界面上。(3)绘函数图像及积分区域。下面给出部分关键代码。

2.1 提取数据

提取被积函数的表达式及其定义域,积分变量、积分区间等。可使用get函数来实现,例如:提取被积函数表达式:fun=get(handles.fedit,'string');

提取函数定义域并转换成数值数据:qujian=str2num(get(handles.fquedit,'string'));

2.2 选择积分公式计算[2]

此部分代码定义在“计算”按钮的callback函数中。首先从下拉列表框获取选中的方法:method=get(handles.mpop,'value');

接着调用相应的数值积分函数进行计算:

switch (method)

case 1

res=('梯形公式计算结果:|');

res=strcat(res,num2str(trapz(x,y)));

case 2

res='辛普生公式计算结果:|';

fun1=inline(fun);

[I,n]=quadl(fun1,a,b,1e-10);

res=strcat(res,num2str(I));

case 3

res=strcat(res,'高斯公式计算结果:|');

I=quadgk(@fe,a,b);

res=strcat(res,num2str(I));

end

最后在列表框中显示计算采用的方法及得到的结果:

set(handles.result,'string',res);

2.3 绘图部分[3]

此部分代码定义在“绘图”按钮的callback函数中。

a=qujian(1);b=qujian(2); hold on;

axes(handles.axes1);fplot(fun,[a,b]);

界面运行结果举例:设被积函数为f(x)=e-xsin2x,定义域分别如界面中输入,截图如下:曲线为函数图像,阴影为积分区域。

图2 积分区间为[[π]/2,0]

图3 积分区间为[-0.2,[π]/3]

3 结束语

本文探讨的通过窗口界面进行的一元函数定积分的运算,能很大程度的辅助教学,让学生直观地了解定积分的求解及几何意义,更好地理解相应的积分理论知识,提高教学效率和效果。

参考文献:

[1] 毛涛涛.精通 matlab-gui 设计[M].北京:电子工业出版社,2008.

[2] 刘卫国.matlab 程序设计与应用[M].2版.北京:高等教育出版社,2008.

[3] 梁辉. MATLAB 制作图形界面的应用[J]. 佳木斯大学学报(自然科学版) ,2003,21(4):402-406.

[4] 于育民,连冬艳. MATLAB-GUI 在数值积分中的应用[J].南阳理工学院学报(自然科学版) ,2009, 1(6):116-119.

[5] 李开友.函数积分的计算机求解及结果的可视化实现[J].数字技术与应用,2011(7).

猜你喜欢

数值积分
基于计算前沿面的实时仿真数值积分并行构造及其数值模型解耦加速方法
快速求解数值积分的花朵授粉算法
母线失电后主泵及机群运行的仿真分析
基于辛普生公式的化工实验中列表函数的一种积分方法
基于复杂网格处理的高精度数值积分技术