欢迎来到天天文库
浏览记录
ID:31365632
大小:107.00 KB
页数:5页
时间:2019-01-09
《matlab_gui 在定积分教学中的应用》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、MATLAB_GUI在定积分教学中的应用 摘要:利用MATLAB_GUI界面编程实现了一元函数定积分的运算及可视化,只需在操作界面上输入函数表达式和积分区间,即可得出相应的结果,并绘制出函数图像和积分区域,使学生对枯燥的数值积分有直观形象的理解。 关键词:MATLAB_GUI;数值积分;可视化计算 中图分类号:TP311文献标识码:A文章编号:1009-3044(2015)31-0115-02 TheApplicationofMatlab_GuiintheDefiniteIntegration HUANGShi-hua
2、 (AnqingNormalUniversity,Anqing246133,China) Abstract:MATLAB_GUIinterfaceprogrammingisengagedtoachievethecalculationandvisualizationofthedefiniteintegralofonevariablefunctions.Bytypingfunctionexpressionandtheintegralinterval,theoutcomeswillincludefunctionalimage,in
3、tegralregionandtherelatedresults,whichbenefitsvisualimageofunderstandingonthedullnumericalintegration. Keywords:MATLAB_GUI;numericalintegration;visualizationofcalculation5 高等数学重要内容分为两大块:一元与多元微积分学,学生要学好高等数学,对一元函数微积分学的掌握是关键。其中,一元函数定积分学好与否,对于学生更加深入学习并运用数学知识有重要铺垫作用。但是,
4、在实际教学过程中,由于函数内容本身的抽象性及定积分计算的复杂性,往往不能对此部分的知识进行很好的诠释,一方面学生觉得枯燥,难度大,另一方面,课堂上教师要花费大量时间和精力在黑板上计算、绘图却收效甚微。MATLAB是一种集算法开发,数值计算、数据可视化等功能于一体的优秀的数学工具软件,本文利用其内置的几种数值求积函数得出被积函数在积分区间的积分值,同时使用其强大的绘图功能绘制出函数的图像,并在图像上标明积分区域,使得整个求解过程及计算结果完全可视化。 1MATLAB_GUI设计的操作界面及功能[1] GUI(Graphical
5、UserInterfaces)是图形用户界面的简称,借助于MATLAB软件出色的符号运算、数值计算、图形处理等功能及GUIDE编辑器,设计一个美观、简洁、明了的图形操作界面。本界面使用了GUI中三个文本框(edit)控件,分别用来输入被积函数、变量区间、积分区间,一个列表框(listbox)显示积分结果。一个下拉列表(popupmenu)控件,用于选择求积方法,一个坐标轴(axes)控件用于显示函数图像及积分区域。其他五个为命令按钮(pushbutton)控件,控制计算和绘图等功能。 图1一元函数定积分计算的图形界面 2
6、一元定积分运算的实现 函数的积分运算的实现可分为三个模块:(1)从界面上提取用户的输入,并对部分数据转换类型。(2)依据选择的方法运算并输出运算结果到5运行界面上。(3)绘函数图像及积分区域。下面给出部分关键代码。 2.1提取数据 提取被积函数的表达式及其定义域,积分变量、积分区间等。可使用get函数来实现,例如:提取被积函数表达式:fun=get(handles.fedit,'string'); 提取函数定义域并转换成数值数据:qujian=str2num(get(handles.fquedit,'string'));
7、 2.2选择积分公式计算[2] 此部分代码定义在“计算”按钮的callback函数中。首先从下拉列表框获取选中的方法:method=get(handles.mpop,'value'); 接着调用相应的数值积分函数进行计算: switch(method) case1 res=('梯形公式计算结果:
8、'); res=strcat(res,num2str(trapz(x,y))); case2 res='辛普生公式计算结果:
9、'; fun1=inline(fun); [I,n]=quadl(fun1,a,b,1e
10、-10); res=strcat(res,num2str(I)); case3 res=strcat(res,'高斯公式计算结果:
11、');5 I=quadgk(@fe,a,b); res=strcat(res,num2str(I)); end 最后
此文档下载收益归作者所有