数值积分的MATLAB GUI设计[文献综述].doc

上传人:一*** 文档编号:47136 上传时间:2018-05-19 格式:DOC 页数:7 大小:181.48KB
下载 相关 举报
数值积分的MATLAB GUI设计[文献综述].doc_第1页
第1页 / 共7页
数值积分的MATLAB GUI设计[文献综述].doc_第2页
第2页 / 共7页
数值积分的MATLAB GUI设计[文献综述].doc_第3页
第3页 / 共7页
数值积分的MATLAB GUI设计[文献综述].doc_第4页
第4页 / 共7页
数值积分的MATLAB GUI设计[文献综述].doc_第5页
第5页 / 共7页
点击查看更多>>
资源描述

1、 毕业论文文献综述 信息与计算科学 数值积分的 MATLAB GUI 设计 一、前言部分 MATLAB 是一种数值计算环境和编程语言,主要包括 MATLAB 和 Simulink 两大部分。MATLAB 基于矩阵运算, 具有强大的数值分析、矩阵计算、信号处理和图形显示功能,其强大的数据处理能力和丰富的工具箱使得它的编程极为简单。 MATLAB 既能进行科学计算,又能开发出所需要的图形界面。 图形用户界面( GUI)是由窗口、光标、按键、菜单、文字说明等对象( Objects)构成的一个用户界面。用户通过一定的方法选择、激活这些图形对象 ,是计算机产生某种动作或变化,比如实现计算、绘图等。 1

2、数值积分是数值逼近的重要内容,也是函数插值的最直接应用。在工程计算中,由于许多函数的不定积分无法用简单函数表达出来,甚至函数本身都无法详尽地描述,而代之以表格的形式给出一些离散点上的函数值,或者定义为某个无法用显式表示的微分方程的解。在上述这些情况下,我们必须采用数值积分。 2数值积分的运算比较繁琐,而且怎样形象地把数值积分表达出来也是一个问题,所以运用 MATLAB 强大的计算能力和 MATLAB GUI 图形显示功能就可以给研究数值积分提供很大的方 便。 二、主题部分 2.1 MATLAB 软件介绍 2.1.1 MATLAB 软件概况 3、 4 MATLAB 是一种用于科学技术计算的高性能

3、语言。它将计算、可视化和程序设计集成在一个非常容易使用的环境中,使用我们熟悉的数学符号表示问题与答案。 MATLAB 的应用范围广泛,包括数学与计算;算法开发;数据采集;建模与模拟;数据分析、研究和可视化;科学和工程图形;应用程序开发,包括图形用户界面的建立。 MATLAB 是一个交互系统,它的基本数据元素是数组,尤其适合解决用矩阵和向量组织数据的科学技术计算问题。 MATLAB 很重要的特点,是附加了一个解决专门问题的应用程序大家族,叫做工具箱。它对于 MATLAB 用户是非常重要的,能让用户学习和应用专门的技术。工具箱是 MATLAB 函数的全面集合,扩展了 MATLAB 解决特殊类型问题

4、的环境。工具箱可应用的领域包括信号处理、控制系统、神经网络、模糊逻辑、子波、模拟等方面。 期望“精通” Matlab 似乎不太现实,它涉及到太多的数学领域。但如果熟知有关领域的数学内容,掌握相应的工具箱或在此基础上进行新的开发是比较容易的, Matlab 设有 C语言和 Fortran 语言接口,这使得开发更为方便灵 活。 2.1.2 MATLAB 语言特点 5、 6 Matlab 现在已经广泛地应用于工程设计的各个领域,而它之所以能够在各个方面都表现得如鱼得水,其原因就在于它实用性的语言特点。 1. 功能强大 MATLAB 4.0 以上 (不包括 4.0 版本 )的各版本,不仅正数值计算上继

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

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

7、上的一些简单英文单词表达的。由于它在很长一段时间内是用 C 语言开发的,它的不多的几个程序流控制语句同 C 语言差别甚微,初学者很容易掌 握。 MATLAB 语言的帮助系统也近乎完备,用户可以方便地查询到想要的各种信息。 另外, MATLAB 还专门为初学者 (包括其中某一个工具箱的初学者 )提供了功能演示窗口,用户可以从中得到感兴趣的例子及演示。 3. 扩充能力强、可开发性强 MATLAB 能发展到今天这种程度,它的可扩充性和可开发性起着不可估量的作用。MATLAB 本身就像一个解释系统,对其中的函数程序的执行以一种解释执行的方式进行。这样最大的好处是 MATLAB 完全成了一个开放的系统,

8、用户可以方便地看到函数的源程序,也可以方便地开发自己的程序,甚至创建自己的 “库”。 另外, MATLAB 并不“排他”, MATLAB 可以方便地与 FORTRAN, C 等语言接口,以充分利用各种资源。用户只需将已有的 EXE 文件转换成 MEX 文件,就可以方便地调用有关程序和子程序。 MATLAB 还和 Maple 有很好的接口,这也大大扩充了 MATLAB 的符号运算功能。 4 编程易、效率高 从形式上看, MATLAB 程序文件是一个纯文本文件,扩展名为 m。用任何字处理软件都可以对它进行编写和修改,因此程序易调试,人机交互性强。 2.1.3 MATLAB GUI 介绍 7、 8

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

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

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

12、为所求定积分。对积分区间 , ab 作 n 等分: 0 1 2 na x x x x b , 步长 bah n , ix a ih , ()iiy f x , 0,1,2, ,in , 11( ) ( )iinbxaxif x dx f x dx . (1) 对于 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 x y x x yx x x x h , 1 1 11 1 11

13、( ) ( ) ( ) ( )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 . (12-4) 当 f 在 , ab 上连续且非负时,公式 (12-4)有明显的几何意义: ()ba f x dx表示由()y f x

14、,x 轴及直线 xa ,xb 所确定的曲边梯形的面积。等分 , ab ,把曲边梯形分成 n 个小曲边梯形,以连结 11( , )iixy,( , )iixy 的线段替代曲边得到小梯形, 公式 (12-4)表示以所有小梯形面积的和来作为积分 ()ba f x dx的近似值,因此将这种方法称为梯形法。 梯形公式的精度为 1n 。 2.2.2 Simpson 公式 11、 12 当区间 (, )ab 内插入奇数个等分点,即 n 为偶数时常用 Simpson 公式: (6.3.4) (6.3.4)式又称为抛物线公式,因为它可以通过在 02 , xx , 24 , xx , , 2 , nnxx各小区间

15、上用抛物线近似替代曲线 ()y f x 得到。例如在小区间 02 , xx 是用经过三点00( , ( )x f x , 11( , ( )x f x , 22( , ( )x f x 的抛物线 ()y sx 替代曲线 ()y f x 。 容易验证, Simpson 公式的代数精确度是 3,故它对 3 次多项式是精确成立的。 2.2.3 高斯求积公式 13、 14 n 阶 Newton-Cotes 求积公式,当 n 为偶数时,其代数精度可达到 1n ,能否通过选择合适的积分结点使求积公式的代数精度达到最高,本节将讨论这个问题。 考察 1n 个结点的求积公式, 0( ) ( ) ( )nbkka

16、 kx f x dx A f x (9-4-1) 其中 ()x 为 , ab 上的权函数。 注意到若 2 2 2 21 0 1( ) ( ) ( ) ( ) ( )nnf x w x x x x x x x 时 22110( ) ( ) 0 ( )nbn k na kx w x d x A w x 故式 (9-4-1)最高的代数精度为 21n 。若选取参数 kx , kA , 0kn ,可使式 (9-4-1)的代数精度达到 21n ,就称式 (9-4-1)为高斯 (Gauss)型求积公式。简称为 Gauss 公式。此时称结点 0,nxx为 Gauss 点, ( 0 )kA k n 为 Gaus

17、s 系数。 Gauss 公式的精度至少是 21n 三、总结部分 本文首先介绍了 MATLAB 这个数学软件,让我们初步了解了这个软件的一些情况。 MATLAB是当今最优秀的科技应用软件之一,它以强大的科学计算与可视化功能、简单易用、开放式可扩展环境,特别是所附带的 30 多种面向 不同领域的工具箱支持,使得它在许多科学领域中成为计算机辅助设计和分析、算法研究和应用开发的基本工具和首选平台。 MATLAB 具有其他高级语言难以比拟的一些优点,如编写简单、编程效率高、易学易懂等,因此 MATLAB语言也被通俗地称为演算纸式科学算法语言 。 15 MATLAB GUI 是 MATLAB 的图形用户界

18、面,它有友好的程序界面,再加上 MATLAB 的强大计算能力,使得 MATLAB 软件更受人们的欢迎。 然后,又介绍了数值积分的几种方法,数值积分有梯形公式、 Simpson 公式、高斯求积公式、龙贝格公式等等。运用 这些公式,可以求出那些原函数复杂的定积分的近似值,提高运算的效率。 MATLAB 的强大计算能力和 MATLAB GUI 的友好图形界面给 求解数值积分研究带来了很大的方便。 四、参考文献 1 拉克唐瓦尔德 . 数值方法和 MATLAB 实现与应用 M. 北京:机械工业出版社, 2004.9: 6 7 2 蒋尔雄,赵风光 . 数值逼近 M. 上海:复旦大学出版社 , 1996:

19、137 3 董振海 . 精通 MATLAB 7 编程与数据库应用 M. 北京:电子工业出版社, 2007.08. 4 周晓阳 . 数学实验与 MatlabM. 武汉:华中科技大学出版社 , 2002. 5 王华等 . Matlab 在电信工程中的应用 M. 北京:中国水利水电出版社 , 2001: 1 6 王沫然 . MATLAB 与科学计算 M. 北京:电子工业出版社 , 2003: 1 3 7 施晓红,周佳 . 精通 GUI 图形界面编程 M. 北京:北京大学出版社 , 2003: 35 36 8 陈垚光,毛涛涛等 . 精通 MATLAB GUI 设计 M. 北京:电子工业出版社 , 20

20、08: 17 9 实用高等数学编写组 . 实用高等数 学 第 2 册 M. 苏州:苏州大学出版社 , 2008. 10 John H.Mathews, Kurtis D.Fink.Numerical Methods Using MATLABM.BeiJing: Publishing House of Electronics Industry.2005. 11 李国莹等 . 应用数学基础 M. 上海:复旦大学出版社 , 2003. 12 黄明游 ,刘播 ,徐涛 . 数值计算方法 M. 北京:科学出版社 .2005. 13 张晓丹 . 应用计算方法教 M. 北京:机械工业出版社 , 2008: 261 14 Jeffery J.Leader.Numerical Analysis and Scientific ComputationM.北京:清华大学出版社, 2008.5 15 李显宏 . MATLAB7.X 界面设计与编译技巧 M.北京:电子工业出版社, 2006: 1 10

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

当前位置:首页 > 学术论文资料库 > 文献综述

Copyright © 2018-2021 Wenke99.com All rights reserved

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

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

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