- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于MATLAB的函数图形软件的设计
摘要:函数图形能直观的表示出函数的相关性质,利用MATLAB的相关命令语句可以绘制各种函数的图形,但不足之处是必须在MATLAB环境下运行。该文介绍了一个基于MATLAB的函数图形软件,利用该软件,可以独立运行,不局限于MATLAB语言环境。
关键词:函数;图形;MATLAB
中图分类号:TP311文献标识码:A文章编号:1009-3044(2009)13-3417-02
1 引言
由于函数内容的抽象性,长期以来,函数图像教学效果不佳的问题一直困扰着众多师生。函数是揭示客观世界中变量与变量之间依赖关系的重要数学模型,而函数的图像则是对函数性态的直观表述。在信息技术条件下进行函数图像教学,其教学效果明显优于传统意义下的教学,因为学生认识函数图像问题的过程是渐进的。
2 MATLAB中函数曲线图的绘制方法
MATLAB是由MathWorks公司于1984年推出的一套数值计算软件,分为总包和若干个工具箱,可以实现数值分析、优化、统计、偏微分方程数值解、自动控制、信号处理、图像处理若干个领域的计算和图形显示功能[1]。MATLAB的图形绘制和编辑功能非常强大。在MATLAB中,既可以绘制线形图、条形图等基本图形,也可以绘制不同坐标系下的图形。MATLAB主要提供了两种绘图方式[2]:命令行方式和M文件方式。
1) 命令行方式:只需要在命令行方式下输入相应的绘图命令语句就可以,例如运行fplot(sin,[-pi,pi])就可以绘制出如图1所示的图形,很简单。
2) M文件方式:就是用户把要实现的命令写在一个以m作为文件扩展名的文件中,然后由MATLAB系统进行解释,运行出结果,M文件实际上仅仅是一个命令集[3]。例如利用plot(x,y)函数绘制图形的M文件代码如下:
创建一个M文件graphf.m
x=-5:0.01:5
y=10*(sin(x.^2)+cos(x))
plot(x,y),grid
运行结果如图2:
■
图1 运行fplot(sin,[-pi,pi])命令 图2 运行graphf.m文件
3 软件源代码设计
上述作图必须在MATLAB语言环境下运行,不能脱离。这样要作不同的图形,就必须在MATLAB环境下,编写不同的m文件,且每次都必须这样,这样就很麻烦,关键是不能脱离MATLAB。
象很多高级编程语言一样[4], MATLAB也有图形用户界面开发环境。利用MATLAB的GUI(Graphical User Interface)控件,可以编写界面友好的且可以脱离MATLAB编译环境的程序,MATLAB中的基本图形用户界面对象主要有三类:用户界面控件对象(uicontrol)、下拉式菜单对象(uimenu)和内容式菜单对象(uicontextmenu)。利用这些对象就可以设计出一个界面良好、操作简单、功能强大的图形用户界面。下面是编写函数软件的源代码:
function varargout = draw(varargin)
function draw_OpeningFcn(hObject, eventdata, handles, varargin)
handles.output = hObject;
guidata(hObject, handles);
function varargout = draw_OutputFcn(hObject, eventdata, handles)
varargout{1} = handles.output;
function min_CreateFcn(hObject, eventdata, handles)
if ispc
set(hObject,BackgroundColor,white);
else
set(hObject,BackgroundColor,get(0,defaultUicontrolBackgroundColor));
end
function min_Callback(hObject, eventdata, handles)
function max_CreateFcn(hObject, eventdata, handles)
if ispc
set(hObject,BackgroundColor,white);
else
set(hObject,BackgroundColor,get(0,defaultUicontrolBackgroundColor));
end
fu
文档评论(0)