ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:292.18KB ,
资源ID:3545429      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3545429.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(GUI设计在高等数学中的应用.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

GUI设计在高等数学中的应用.docx

1、GUI设计在高等数学中的应用GUI设计在高等数学中的应用摘要:在高等数学中,经常面临一些图形和计算的问题,但很多函数的表达式和计算过于抽象。在MATLAB中GUI设计可以很好的解决这些问题,对相关的函数可以利用MATLAB强大的数值计算功能进一步的分析。本文中利用GUI设计来解决函数极限可视化以及多项式的曲线拟合,达到图形与函数结合更直观清晰的效果。关键字:GUI 函数极限可视化 多项式的曲线拟合1. 函数极限可视化可视化显示求函数极限的过程,可以随着自变量取值的变化来显示函数值也随之不断变化的动态可视化。例:绘制函数在,下的曲线并观察和推断当,时,函数的变化趋势,说明单,双侧极限的关系。通过

2、绘制函数的动态曲线(彗星轨道)和静态曲线极限图,来推断当,时的函数变化曲线。在布局编辑器中布置控件: 建立2个坐标轴对象,用于显示函数的动态彗星轨迹和函数的极限图形。 建立2个静态文本标注动态彗星轨迹和函数的极限图形。 建立3个按钮,用于绘制图形和结束程序。 分别设置3个按钮的标示为comet_pushbutton,用于绘制函数的动态彗星轨迹曲线。limit_pushbutton,绘制函数的极限曲线。close_pushbutton,用于结束程序。界面设置如图1-1所示。保存为gui_hanshu.fig文件。添加菜单,添加绘制图形和关闭图形的命令,如图1_2所示。建立一级菜单【file】,并

3、设置3个菜单命令【comet】【limit】和【close】它们的tag属性分别设置为comet_menu调用绘制函数的动态彗星轨迹图形功能。limit_menu, 调用绘制函数的极限图像功能。close_menu,执行关闭图形的功能。 图1_1 函数极限可视化布局图1_2 添加菜单 编写代码完成程序中的变量赋值,输出(输入)及绘图等,打开gui_hanshu.m文件,系统自动生成M文件的程序代码如下:function varargout = gui_hanshu(varargin)gui_Singleton = 1;gui_State = struct(gui_Name, mfilename

4、, . gui_Singleton, gui_Singleton, . gui_OpeningFcn, gui_hanshu_OpeningFcn, . gui_OutputFcn, gui_hanshu_OutputFcn, . gui_LayoutFcn, , . gui_Callback, );if nargin & ischar(varargin1) gui_State.gui_Callback = str2func(varargin1);endif nargout varargout1:nargout = gui_mainfcn(gui_State, varargin:);else

5、gui_mainfcn(gui_State, varargin:);endfunction gui_hanshu_OpeningFcn(hObject, eventdata, handles, varargin)handles.output = hObject;guidata(hObject, handles);function varargout = gui_hanshu_OutputFcn(hObject, eventdata, handles) varargout1 = handles.output;调用comet_pushbutton_Callback绘制函数在下的动态曲线(彗星轨迹)

6、图形,代码如下:function comet_pushbutton_Callback(hObject, eventdata, handles)axes(handles.axes1);x=-700:0.1:700;box on;hold on;axis(-700 700 -2.4 1.1); comet(x,sin(x)./x);调用limit_pushbutton_Callback绘制函数在,下的静态极限图形,代码如下:function limit_pushbutton_Callback(hObject, eventdata, handles)axes(handles.axes2);fplot

7、(sin(x)./x,-100 100 -0.24 1.1);text(30,0.5,sin(x)./x); 调用close函数关闭图形退出程序,代码如下:function close_pushbutton_Callback(hObject, eventdata, handles)close菜单命令comet_menu调用函数comet_pushbutton_Callback绘制动态曲线,代码如下:function comet_menu_Callback(hObject, eventdata, handles)comet_pushbutton_Callback(hObject, eventda

8、ta, handles);function file_menu_Callback(hObject, eventdata, handles)菜单命令limit_menu调用函数limit_pushbutton_Callback绘制静态极限图形,代码如下:function limit_menu_Callback(hObject, eventdata, handles)limit_pushbutton_Callback(hObject, eventdata, handles); 菜单命令close_menu调用close函数关闭图形退出程序,代码如下:function close_menu_Call

9、back(hObject, eventdata, handles)close程序运行后,单击【comet】按钮或选择【comet】菜单命令后,绘制动态曲线(彗星轨迹)图形,如图1_3和图1_4所示图1_3 动态彗星轨道曲线() 图1_4 动态彗星轨道曲线()单击【limit】按钮或选择【limit】菜单命令后绘制静态极限图形,如图1_5所示 图1_5 函数静态极限图形图1_6 函数极限可视化从图1-6可以观察动态曲线图和静态曲线图,当,时,函数的变化趋势都是无限地趋近于0;即当,时,函数的变化趋势都是无限地趋近于1;即这说明双侧极限存在的充要条件是两个单侧极限存在且相等,双侧极限值等于但侧极限

10、值。2. 多项式的曲线拟合最佳拟合被解释为在数据点的最小误差平方和,若所用的曲线限定为多项式,那么曲线拟合是相当简捷的,称为多项式的最小二乘曲线拟合。在MATLAB中使用函数ployfit来进行曲线拟合,调用格式如下:P=ployfit(x,y,n)其中x和y表示输入的原始数据,n表示阶次。为了使用ployfit,必须给函数赋予上面的数据和希望最佳拟合数据的多项式的阶次。如果选择n=1作为阶次,则得到最简单的线性近似,通常称为线性回归;相反,如果选择n=2作为阶次,则得到一个二阶多项式。例:输入原始数据,对这些数据进行多项式不同阶次得曲线拟合。 建立一个坐标轴对象,用于显示函数和零点坐标。 建

11、立4个静态文本框,标注相应的控件的提示和用来显示坐标数值。 建立2个按钮,用于求函数零点和结束程序。设置控件的tag属性: 分别设置两个按钮的tag为polyfit_pushbutton 用于曲线拟合,close_pushbutton用于结束程序。 设置4个可编辑文本框,显示x,y,n和拟合后的系数数据,tag依次设为x_edit, y_edit, n_edit, xishu_edit. Tag为x_edit, y_edit, n_edit的可编辑文本框的HorizontalAlignment都设置为left.添加菜单,用来添加曲线拟合和关闭图形的命令。建立一级菜单【file】,并且设置菜单命

12、令【polyfit】和【close】.它们的tag分别设置为polyfit_menu调用曲线拟合的函数和close_menu关闭图形的功能。系统自动生成的M文件打得程序代码如下:function varargout = gui_qx(varargin)gui_Singleton = 1;gui_State = struct(gui_Name, mfilename, . gui_Singleton, gui_Singleton, . gui_OpeningFcn, gui_qx_OpeningFcn, . gui_OutputFcn, gui_qx_OutputFcn, . gui_Layout

13、Fcn, , . gui_Callback, );if nargin & ischar(varargin1) gui_State.gui_Callback = str2func(varargin1);endif nargout varargout1:nargout = gui_mainfcn(gui_State, varargin:);else gui_mainfcn(gui_State, varargin:);end在程序初始化得时候,显示默认想x,y,n的数据,代码如下:function gui_qx_OpeningFcn(hObject, eventdata, handles, vara

14、rgin)set(handles.x_edit,string,0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1);set(handles.y_edit,string,0.46 1.99 3.27 6.16 7.08 7.34 7.56 9.66 9.45 9.34 11.4);set(handles.n_edit,string,3);handles.output = hObject;guidata(hObject, handles);function varargout = gui_qx_OutputFcn(hObject, eventdata, handles)

15、 varargout1 = handles.output;按钮polyfit_pushbutton调用函数,将x,y,n的字符转化为数据,进行曲线拟合,把拟合后的系数输出在tag为xishu_eidt的编辑文本框中,代码如下: function polyfit_pushbutton_Callback(hObject, eventdata, handles)x=str2num(get(handles.x_edit,string);y=str2num(get(handles.y_edit,string);n=str2num(get(handles.n_edit,string);plot(x,y,m

16、:,Marker,o);hold onp=polyfit(x,y,n);yy=polyval(p,x);plot(x,yy,r-);set(handles.xishu_edit,string,strcat(p=,num2str(p);按钮close_pushbutton调用close函数关闭图形结束程序,代码如下:function close_pushbutton_Callback(hObject, eventdata, handles)close菜单polyfit_menu调用polyfit_pushbutton_Callback函数进行曲线拟合,代码如下:function polyfit_

17、menu_Callback(hObject, eventdata, handles)polyfit_pushbutton_Callback(hObject, eventdata, handles)按钮close_menu调用close函数关闭图形结束程序,代码如下:function close_menu_Callback(hObject, eventdata, handles)close程序运行后,可以使用默认的x,y,n的数据,x=0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 ;y=0.46 1.99 3.27 6.16 7.08 7.34 7.56 9.6

18、6 9.45 9.34 11.4;阶数n=3,如图2-1所示。图2-1 初始界面单击【polyfit】按钮和菜单命令【polyfit】后,进行曲线拟合,如图2-2所示图2-2 曲线拟合由图2-2可知,拟合后的系数p=11.8337 -25.5501 24.5793 0.0995105,则多项式的表达式y=11.8337x3-25.5501x3+24.5793x+0.0995105.当对x,y,n分别进行改变时,拟合曲线也相应的随之变化,如图2-3所示图2-3 当n=6时的曲线拟合 多项式阶次的选择是任意的。两点决定一直线或一阶多项式,3点决定一个二阶多项式,n+1数据点唯一的确定n阶多项式此例中的11个数据点可选一个最高为10阶的多项式。然而,并不是多项式的阶数越高,效果越好。需要对不同阶数的情况进行比较分析,才能得到较好的多项式拟合效果。参考文献:1 李显宏.MATLAB界面设计与编译技巧. 北京:电子工业出版社,2006.2 刘卫国.MATLAB 程序设计与应用(第二版).北京:高等教育出版社,20063 赵书兰.MATLAB图形与动画编程实例案.北京:化学工业出版社,2009

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1