数值积分的MATLAB GUI设计【信息科学与技术专业】【毕业设计+文献综述+开题报告】.doc

上传人:一*** 文档编号:46995 上传时间:2018-05-19 格式:DOC 页数:43 大小:836.96KB
下载 相关 举报
数值积分的MATLAB GUI设计【信息科学与技术专业】【毕业设计+文献综述+开题报告】.doc_第1页
第1页 / 共43页
数值积分的MATLAB GUI设计【信息科学与技术专业】【毕业设计+文献综述+开题报告】.doc_第2页
第2页 / 共43页
数值积分的MATLAB GUI设计【信息科学与技术专业】【毕业设计+文献综述+开题报告】.doc_第3页
第3页 / 共43页
数值积分的MATLAB GUI设计【信息科学与技术专业】【毕业设计+文献综述+开题报告】.doc_第4页
第4页 / 共43页
数值积分的MATLAB GUI设计【信息科学与技术专业】【毕业设计+文献综述+开题报告】.doc_第5页
第5页 / 共43页
点击查看更多>>
资源描述

1、 本科毕业论文(设计) ( 201 届) 数值积分的 MATLAB GUI 设计 所在学院 专业班级 信息与计算科学 学生姓名 学号 指导教师 职称 完成日期 年 月 本科生毕业论文(设计) 1 摘要 :本文首先介绍了 MATLAB GUI,以及在数值计算方面的应用。接着 ,叙述了数值积分的几种求解方法 :梯形 公式、 Simpson 求积方法、高斯求积方法和Romberg 求积方法。应用 MATLAB 编写程序求数值积分以及分析问题。最后用MATLAB GUI设计图形用户界面,使数据可视化,即用 MATLAB GUI实现数值积分的计算。在本文中,用 MATLAB GUI设计了两个关于数值积分

2、计算的程序。 关键词 :MATLAB GUI;数值积分;可视化; Romberg积分 本科生毕业论文(设计) 2 MATLAB GUI Design of Numerical Integration Abstract: In this thesis the software of MATLAB GUI and the application of MATLAB in numerical computation are introduced. Then some numerical integration methods for solving are described: trapezoida

3、l quadrature method, Simpson quadrature method, Gauss quadrature method and Romberg quadrature method. Apply MATLAB to solve numerical integration through programming and analyse problems. Finally, MATLAB GUI is used to design graphical user interface to visualize the datas, that is using the MATLAB

4、 GUI to implement the calculation of numerical integration. In the thesis, MATLAB GUI is used to design two programs about the calculation of numerical integration. Keywords: MATLAB GUI ; numerical integration ; visualization; Romberg integration 本科生毕业论文(设计) 3 目录 1 绪论 . 4 1.1 问题的背景、意义 . 4 1.1.1 背景 .

5、 4 1.1.2 意义 . 4 2 MATLAB软件介绍 . 4 2.1 MATLAB软件概况 . 4 2.1.1 MATLAB软件简介 . 4 2.1.2 MATLAB语言特点 . 5 2.2 MATLAB GUI介绍 . 6 2.2.1 GUI基本概念 . 6 2.2.2 利用 GUIDE创建 GUI . 7 2.2.3 利用编程创建 GUI . 8 本科生毕业论文(设计) 4 1 绪论 1.1 问题的背景、意义 1.1.1 背景 由于计算机的发展和普及,科学计算已成为解决各类科学技术问题 的重要手段。因此,掌握科学计算的基本原理和方法是当今科学技术工作者不可缺少的本领和技能之一。并且经过

6、不断的研究和累积,在现今科学研究和工程实践中,数值计算已经发展成为一门用来分析数据,解决实际问题的重要学科,成为继理论分析、实验之后又一个重要的研究方法。 MATLAB 是一种数值计算环境和编程语言,主要包括 MATLAB 和 Simulink 两大部分。 MATLAB 基于矩阵运算,具有强大的数值分析、矩阵计算、信号处理和图形显示功能,其强大的数据处理能力和丰富的工具箱使得它的编程极为简单。 MATLAB 既能进行科学计 算,又能开发出所需要的图形界面。 1 MATLAB 在提供强大计算功能的同时,近年来还大力发展了面向对象的图形技术和 GUI技术,使用户可以轻松实现数据的交互式显示。 MA

7、TLAB 的图形绘制、图形高级操作以及 GUI 这些方面的应用日益普遍。使用 MATLAB 提供的图形设计技术,用户无须了解图形实现的细节内容,有时甚至只需几个简单的函数就可以绘制非常复杂的图。另外,用户还可以根据需要来规划、设计 MATLAB 的图形外观,不断调整完善,直至绘图结果完全符合用户要求。总之,利用 MATLAB 提供的 GUI 设计工具或编写程序,可 以简单、便捷地设计出美观、方便的菜单化和控制式的人机交互界面。 2 1.1.2 意义 数值积分是数值逼近的重要内容,也是函数插值的最直接应用。在工程计算中,由于许多函数的不定积分无法用简单函数表达出来,甚至函数本身都无法详尽地描述,

8、而代之以表格的形式给出一些离散点上的函数值,或者定义为某个无法用显式表示的微分方程的解。在上述这些情况下,我们必须采用数值积分。 3数值积分的运算比较繁琐,而且怎样形象地把数值积分表达出来也是一个问题,所以运用 MATLAB 强大的计算能力和 MATLAB GUI 图形显示功能就可 以给研究数值积分提供很大的方便。 2 MATLAB 软件介绍 2.1 MATLAB 软件概况 2.1.1 MATLAB 软件简介 4、 5 MATLAB 是一种用于科学技术计算的高性能语言。它将计算、可视化和程序设计集成在一个非常容易使用的环境中,使用我们熟悉的数学符号表示问题与答案。 MATLAB 的应本科生毕业

9、论文(设计) 5 用范围广泛,包括数学与计算;算法开发;数据采集;建模与模拟;数据分析、研究和可视化;科学和工程图形;应用程序开发,包括图形用户界面的建立。 MATLAB 是一个交互系统,它的基本数据元素是数组,尤其适合解 决用矩阵和向量组织数据的科学技术计算问题。 MATLAB 很重要的特点,是附加了一个解决专门问题的应用程序大家族,叫做工具箱。它对于 MATLAB 用户是非常重要的,能让用户学习和应用专门的技术。工具箱是MATLAB 函数的全面集合,扩展了 MATLAB 解决特殊类型问题的环境。工具箱可应用的领域包括信号处理、控制系统、神经网络、模糊逻辑、子波、模拟等方面。 期望 “精通

10、”Matlab 似乎不太现实,它涉及到太多的数学领域。但如果熟知有关领域的数学内容,掌握相应的工具箱或在此基础上进行新的开发是比较容易的, Matlab 设有 C 语言和 Fortran 语言接口,这使得开发更为方便灵活。 在高等数学中,常常有很多函数太复杂,很难计算出它们在某个区间上的定积分,利用MATLAB 就可以比较容易地计算出定积分,并画出函数的图形,还可以用 MATLAB 强大的计算能力对函数做进一步的分析。 2.1.2 MATLAB 语言特点 6、 7 Matlab 现在已经广泛地应用于工程设计的各个领域,而它之所以能够在各个方面都表现得如鱼得水,其原因就在于它实用性的语言特点。

11、功能强大 MATLAB 4.0 以上 (不包括 4.0 版本 )的各版本,不仅正数值计算上继续保 持着相对其他同类软件的绝对优势,而且还开发了自己的符号运算功能。特别是 MATLAB6J 版本在符号运算功能上丝毫不逊于其他各类软件,如 MathCAD, Mathematica 等。这样,用户就不必像以前的计算人员那样在掌握 MATLAB 的同时还要学习另一种符号运算软件。用户只要学会了 MATLAB 6.x,就可以方便地处理诸如矩阵变换及运算、多项式运算、微积分运算、线性与非线性方程求解、常微分方程求解、偏微分方程求解、插值与拟合、统计与优化等问题了。 做过数学计算的人可能知道,在计算中最难处

12、理的就是算法的选择,这个问 题在 MATLAB面前释然而解。 MATLAB 中许多功能函数都带有算法的自适应能力,且算法先进,大大解决了用户的后顾之忧。同时,这也大大弥补了 MATLAB 程序因非可执行文件而影响其速度的缺陷,因为在很多实际问题中,计算速度对算法的依赖程度大大高于对运算本身的依赖程度。另外, MATLAB 提供了一套完善的图形可视化功能,为用户向别人展示自己的计算结果提供了广阔的空间。 语言简单 无论一种语言的功能多么强大,如果语言本身是艰涩而蹩脚的,那么它绝非一个成功的语言,而 MATLAB 是成功的,它允许用户以数学形式的语言编写程 序,比 BASIC、 FORTRAN本科

13、生毕业论文(设计) 6 和 C 等语言更接近于书写计算公式的思维方式。它的操作和功能函数指令就是以平时计算机和数学书上的一些简单英文单词表达的。由于它在很长一段时间内是用 C 语言开发的,它的不多的几个程序流控制语句同 C 语言差别甚微,初学者很容易掌握。 MATLAB 语言的帮助系统也近乎完备,用户可以方便地查询到想要的各种信息。 另外, MATLAB 还专门为初学者 (包括其中某一个工具箱的初学者 )提供了功能演示窗口,用户可以从中得到感兴趣的例子及演示。 扩充能力强、可开发性强 MATLAB 能发展到今天这种程度,它 的可扩充性和可开发性起着不可估量的作用。MATLAB 本身就像一个解释

14、系统,对其中的函数程序的执行以一种解释执行的方式进行。这样最大的好处是 MATLAB 完全成了一个开放的系统,用户可以方便地看到函数的源程序,也可以方便地开发自己的程序,甚至创建自己的 “库 ”。 另外, MATLAB 并不 “排他 ”, MATLAB 可以方便地与 FORTRAN, C 等语言接口,以充分利用各种资源。用户只需将已有的 EXE 文件转换成 MEX 文件,就可以方便地调用有关程序和子程序。 编程易、效率高 从形式上看, MATLAB 程序文件是一个纯文本文件,扩 展名为 m。用任何字处理软件都可以对它进行编写和修改,因此程序易调试,人机交互性强。 2.2 MATLAB GUI

15、介绍 2、 8 2.2.1 GUI 基本概念 图形用户界面 (GUI)是使用图形对象 (例如按钮、文本框、滚动条和菜单等 )创建的用户界面。通常这些对象对计算机用户而言都有明确的含义,例如移动滚动条将会改变数值,按下 OK 按钮将完成并应用用户的设置,同时设置对话框消失。当然用户必须保证这些不同对象间能够协调地工作。 MATLAB 用一个包含多种不同风格用户控件对象的图形窗口代表用户界面。用户必须对每一个对 象进行编程,使用户在 GUI 中的行为能够达到相应的目的。 实现一个 GUI 的过程包括两个基本任务:一是 GUI 的组件布局,另一个是 GUI 组件编程。另外,用户还必须能够保存并发布自

16、己的 GUI,使得用户开发的图形界面能够真正得到应用。所有这些功能都能通过图形用户界面开发环境 GUIDE 来完成。 GUIDE 首先是一个组件布局工具集,能够生成用户所需的组件资源并保存在一个 FIG 文件中:其次, GUIDE还将生成一个包含 GUI 初始化和发布控制代码的 M 文件,该文件为回调函数 (用户在图形界面中激活某一控件时要执行的函数 )提供了一个框 架。事实上,用户也可以通过编写调用组件函数的 M 文件来实现 GUI 中所有组件的布局,但是使用 GUIDE 交互式的组件布局功能将会大大减小工作量。 GUIDE 可以为 GUI 同时生成以下两个文件: 一个 FIG 文件:该文件

17、包括 GUI 的图形窗口和所有子对象 (包括用户控件和坐标轴 )的完本科生毕业论文(设计) 7 全描述以及所有对象的属性值。 一个 M 文件:该文件包括用户用来发布和控制界面和回调函数 (这里作为子函数 )的各种函数。该文件中不包含任何组件的布置信息。 一个好的 GUI 能够使程序更加容易使用。它提供给用户一个常见的界面,还提供一些控件,例如按钮、列表 框、滑块、菜单等。用户图形界面应当是易理解且操作是可以预告的,所以当用户进行某一项操作时,它知道如何去做。例如,当鼠标在一个按钮上发生了单击事件,利用消息驱动机制,用户图形界面初始化它的操作,并在按钮的标签上对这个操作进行描述。 MATLAB

18、是一种面向对象的高级计算机语言,其数据可视化技术中的各种图形元素,实际上都是抽象图形对象的实例, MATLAB 中由图形命令产生的每一件东西都是图形对象。它们包括图形窗口,还有坐标轴、线条、曲面、文本和其他。各种图形对象和其间的关系如下图所示。 EMBED Visio.Drawing.11 2.2.2 利用 GUIDE 创建 GUI 程序编辑器来编写其函数代码,从而可以使该图形界面完成预定的任务 Matlab 的 GUIDE 开发工具为用户提供以下几种组件布局工具: 组件布局编辑器:添加和安排图形窗口中的对象; 排列工具:排列对象的相应次序; 属性编辑器:查看和设置属性值; 对象浏览器:观察本

19、次运行中图形对象句柄的层次关系; 菜单编辑器:创建图形窗口菜单。 这些工具集中在布局编辑器界面中,使用 guide 命令可以显示该界面,创建一个新的 GUI框架布局时,在添加需要布置的组 件之前,应该使用 GUIDE 应用程序选项对话框对 GUI进行组态。一般都通过组件布置编辑器 Tools 菜单的 GUI Options 选项来打开 GUIDE 应用程序选项对话框。在该对话框中,用户可以决定是否需要 GUIDE 为 GUI 生成 M 文件以及其他选项。组态完成后就可以使用组件布局工具来布置用户所需的组件。通过使用布局工具,用户可以添加所需的用户控件对象并设置所需的属性。布局完成并存盘后,所有

20、的对象信息就保存在相应的 FIG 文件中了。 下一步要对 GUIDE 生成的或用户自己编写的 M 文件进行编程来实现用户界面的交互功能,编程工 具简单分一下几个部分: 理解 M 文件 如果 GUI 的 M 文件是由 GUIDE 创建的,那么用户需要理解 GUIDE 创建函数的意义,从而进一步编程。 管理 GUI 数据 本科生毕业论文(设计) 8 Matlab 提供一个句柄结构体来方便地访问 GUI 中的所有组件句柄,用户还可以使用这个结构体来存储 M 文件所需的全部数据。 设计交叉平台的兼容性 GUIDE 提供一个设置方法来保证用户 GUI 在不同平台上的良好外观。 回调函数编程与应用 用户对

21、象的回调函数中有一些回调函数属性,用户可以通过设置这些属性来获得所需的操作。 GUI 图形窗口行为控制。 2.2.3 利用编 程创建 GUI MATLAB 软件给出了设计图形界面的工具 GUIDE,通过这些工具可以很方便地修改或者调整图形界面元素的各种属性比如对象设计编辑器、菜单编辑器、对象属性编辑器、位置调整工具和对象浏览器。 但是对有过 MATLAB 图形界面编程经验的设计者来说,它们在一定程度上简化了编程的步骤,可其提供的功能也相对有限,这一点上不能和可视化编程语言相比,特别是对图形界面程序的运行陈述得不够,比如图形界面的初始化、图形界面程序输入参数和输出参数的传递,而这对于两个图形界面

22、程序之间数据的传递时十分重要的,因此很有必要 清楚其运行的流程。只有这样,才能对图形界面程序的编程有个全局的概念,也有助于编写出高效的代码。 MATLAB 图形界面程序是基于消息驱动的,但它与其他可视化编程语言的不同之处也决定了其运行流程的不同。 ( 1)初始化图形界面。这一过程是通过函数 Openfig 实现的, Openfig 函数调用与 M 文件对应的 FIG 文件来初始化图形界面。在这一过程中,还存在隐含 *.fig 的 CreatFcn 函数。但这一过程无法使用输入参数,也就是说,要用输入参数设置图形界面元素的一些特征,还必须编写自己的初始化函数。 ( 2)创建句柄函数 来存储该图形

23、界面所有对象的句柄,用于回调函数及其自己编写的函数。这一过程是通过函数 guihandles 和 guidata 来实现的。只有获得了图形界面所有对象的句柄,才能有效地进行编程,因为 MATLAB 图形界面程序的基础是句柄的应用。 ( 3)在后台建立消息驱动机制,等待用户进行操作并做出相应的响应。 ( 4)初始化完毕,给出输出参数。 本科生毕业论文(设计) 9 3 数值积分 3.1 梯形公式 9、 10 设 EMBED Equation.DSMT4 为 所 求定 积 分 。对 积 分区 间 EMBED Equation.DSMT4 作 EMBED Equation.DSMT4 等分: EMBE

24、D Equation.DSMT4 , 步长 EMBED Equation.DSMT4 , EMBED Equation.DSMT4 , EMBED Equation.DSMT4 , EMBED Equation.DSMT4 , EMBED Equation.DSMT4 . (1) 对于 EMBED Equation.DSMT4 1,2, ,in ,在小区间 1 , iixx 上以 ()fx的线性 (拉格朗日 )插值 1,()iLx近似替代 ()fx,即 11 , 1 1 1111( ) ( ) ( ) ( ) iii i i i i i ii i i ix x x xf x L x y y x

25、 x y x x yx x x x h , 1 1 11 1 11( ) ( ) ( ) ( )2i i ii i ix x xi i i i i ix x xhf x d x y x x d x y x x d x y yh , 代入 (1)式得 0 1 1 2 2 3 1( ) ( ) ( ) ( ) ( ) 2b nna hf x d x y y y y y y y y , 即 10 1 2 1 0 111( ) ( ) ( ) ( )22nbn n n ia if x dx h y y y y y h y y y . (2) 当 f 在 , ab 上连续且非负时,公式 (2)有明显的几

26、何意义: ()ba f x dx表示由()y f x ,x 轴及直线 xa ,xb 所确定的曲边梯形的面积。等 分 , ab ,把曲边梯形分成 n 个小曲边梯形,以连结 11( , )iixy,( , )iixy 的线段替代曲边得到小梯形,公式 (2)表示以所有小梯形面积的和来作为积分 ()ba f x dx的近似值,因此将这种方法称为梯形法。 梯形公式的精度为 1n 。 3.2 Simpson 公式 11、 12 当区间 (, )ab 内插入奇数个等分点,即 n 为偶数时常用 Simpson公式: 0 1 122( ) ( ) 4 ( ) ( ) 32 ( ) ( ) ( ) bnannhf x d x f x f x f xf x f x f x (3)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。