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

加入VIP,省得不是一点点
 

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

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

下载须知

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

版权提示 | 免责声明

本文(解线性代数方程组迭代法的MATLAB GUI设计[毕业论文].doc)为本站会员(文初)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

解线性代数方程组迭代法的MATLAB GUI设计[毕业论文].doc

1、 本科 毕业论文 ( 设计 ) ( 20 届) 解线性代数方程组迭代法的 MATLAB GUI 设计 所在学院 专业班级 信息与计算科学 学生姓名 学号 指导教师 职称 完成日期 年 月 摘要 :本文首先介绍了 MATLAB GUI,以及在数值计算方面的应用。接着介绍了向量、矩阵范数、谱半径的 基本概念,叙述了迭代法的一般形式与收敛性定理,随后介绍了Jacobi 方法、 Gauss-Seidel 方法、松弛法、最速下降法以及共轭梯度法等典型的收敛方法。最后应用 MATLAB 编写程序实现用各种迭代法来求解线性代数方程组,并用MATLAB GUI设计图形用户界面实现数据可视化。 关键词 :MAT

2、LAB GUI; Jacobi 方法; Gauss-Seidel 方法;最速下降法;共轭梯度法 Iterative Methods for Solving Linear Systems of MATLAB GUI Design Abstract: In this paper the software of MATLAB GUI and the application of MATLAB in numerical computation are introduced. Then the vector, matrix norm, spectral radius, general form of i

3、terative methods and theorems about iterative method convergence are described. Some classic iterative methods such as the Jacobi iterative method, Gauss-Seidel method, relaxation method, steepest descent method and conjugate gradient method are described. Finally using some iterative methods to sol

4、ve linear systems are realized by compiling coding with MATLAB. And use MATLAB GUI to design graphical user interface to realize the data visualization. Keywords: MATLAB GUI ; the Jacobi iterative method; the Gauss-Seidel method; the steepest descent method; the conjugate gradient method 目录 1 绪论 . 1

5、 1.1 问题的背景、意义 . 1 1.1.1 背景 . 1 1.1.2 意义 . 1 2 MATLAB软件介绍 . 2 2.1 MATLAB介绍 . 2 2.1.1 MATLAB软件概况 . 2 2.1.2 MATLAB软件的优势 . 2 2.2 MATLAB GUI 介绍 . 3 3 解线性代数方程组的迭代法 . 5 3.1 向量、矩阵范数与谱半径 . 5 3.2 迭代法的一般形式与收敛性定理 . 7 3.3 Jacobi 方法与 Gauss-Seidel 方法 . 8 3.4 松弛法 . 9 3.5 最速下降法、共轭梯度法 . 10 4 MATLAB GUI在迭代法解线性代数方程组中的应

6、用 . 12 5 结论 . 19 致 谢 . 错误 !未定义书签。 参考文献 . 20 1 1 绪论 1.1 问题的背景、意义 1.1.1 背景 由于计算机的发展和普及,科学计算已成为解决各类科学技术问题的重要手段。因此,掌握科学计算的基本原理和方法是当今科学技术工作者不可缺少的本领和技能之一。科学计算是人类从事科学活动和解决科学技术问题不可缺少的手段。在计算技术与计算机得到迅猛发展的今天,人们有了快速数字电子计算机的工具,科学计算被推向科学活动的前沿,上升为一种重要的科学方法 1。 MATLAB 是 用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括 MA

7、TLAB 和 Simulink 两大部分。图形用户界面( Graphical User Interfaces , GUI)则是由窗口、光标、按键、菜单、文字说明等对象构成的一个用户界面。用户通过一定的方法(如鼠标或键盘)选 择、激活这些图形对象,使计算机产生某种动作或变化,比如实现计算、绘图等。 GUI是 向别人提供应用程序,进行某种技术、方法的演示,制作一个供反复使用且操作简单的专用工具 的 最好的选择之一 2。 1.1.2 意义 我们似乎都碰到过这样的问题,为了求得某个线性方程组的解而花费大量的时间和计算量,还容易出错,而应用迭代法求解线性代数方程组的解则可以解决这个问题。一个收敛的迭代法

8、不仅具有程序设计简单,适于自动计算的优点,而且较直接法而言用更少的计算量就可以获得满意的解。因此迭代法是求解线性代数方程组,尤其是求解具有大型系数矩阵的线性方程组的主要方法之一。而 MATLAB的计算能力和 MATLAB GUI的图形显示功能就能给研究特别是形象表示线性方程组的解带来了很大的方便。 2 2 MATLAB 软件介绍 2.1 MATLAB 介绍 2.1.1 MATLAB 软件概况 3 MATLAB是矩阵实验室( Matrix Laboratory)的简称,是美国 MathWorks公司出品的商业 数学软件 ,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环

9、境,主要包括 MATLAB 和 Simulink两大部分。 20 世纪 70 年代,美国新墨西哥大学计算机科学系主任 Cleve Moler 为了减轻学生编程的负担,用 FORTRAN 编写了最早的MATLAB。 1984 年由 Little、 Moler、 Steve Bangert 合作成立了的 MathWorks 公司正式把 MATLAB 推向市场。到 20 世纪 90 年代, MATLAB 已成为国际控制界的标准计算软件。 MATLAB 和 Mathematica、 Maple 并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。 MATLAB 可以进行矩阵运算、绘制函

10、数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测金融建模设计与分析等领域。 MATLAB 的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似 ,故用 MATLAB 来解算问题要比用 C, FORTRAN 等语言完成相同的事情简捷得多,并且 mathwork也吸收了像 Maple等软件的优点 ,使 MATLAB成为一个强大的数学软件。在新的版本中也加入了对 C, FORTRAN, C+ , JAVA 的支持。可以直接调用 ,用户也可以将自己编写的实用程序导入到 MATLAB 函数库中方便自己以后调用,此

11、外许多的MATLAB 爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。 MATLAB 的应用范围非常广,包括信号和图像处理、通讯、控制系统设计、测试和测量、财务建模和分析 以及计算生物学等众多应用领域。附加的工具箱(单独提供的专用 MATLAB 函数集)扩展了 MATLAB 环境,以解决这些应用领域内特定类型的问题。 2.1.2 MATLAB 软件的优势 ( 1)友好的工作平台和编程环境 MATLAB 由一系列工具组成。这些工具方便用户使用 MATLAB 的函数和文件,其中许多工具采用的是图形用户界面。包括 MATLAB 桌面和命令窗口、历史命令窗口、编辑器和调试器、路径搜索和用于

12、用户浏览帮助、工作空间、文件的浏览器。随着MATLAB 的商业化以及软件本身的不断升级, MATLAB 的用户 界面也越来越精致,更加3 接近 Windows 的标准界面,人机交互性更强,操作更简单。而且新版本的 MATLAB 提供了完整的联机查询、帮助系统,极大的方便了用户的使用。简单的编程环境提供了比较完备的调试系统,程序不必经过编译就可以直接运行,而且能够及时地报告出现的错误及进行出错原因分析。 4 ( 2)简单易用的程序语言 Matlab 一个高级的矩阵 /阵列语言,它包含控制语句、函数、数据结构、输入和输出和面向对象编程特点。而且这种语言可移植性好、可拓展性极强,这也是 MATLAB

13、能够深入到科学研究及工程计算各个领域的重 要原因 4。 ( 3)强大的科学计算机数据处理能力 MATLAB 是一个包含大量计算算法的集合。在计算要求相同的情况下,使用 MATLAB的编程工作量会大大减少 4。 ( 4)出色的图形处理功能 MATLAB 自产生之日起就具有方便的数据可视化功能,以将向量和矩阵用图形表现出来,并且可以对图形进行标注和打印 4。 ( 5)应用广泛的模块集合工具箱 MATLAB 对许多专门的领域都开发了功能强大的模块集和工具箱。一般来说,它们都是由特定领域的专家开发的,用户可以直接使用工具箱学习、应用和评估不同的方法而不需要自 己编写代码 4。 ( 6)实用的程序接口和

14、发布平台 新版本的 MATLAB 可以利用 MATLAB 编译器和 C/C+数学库和图形库,将自己的MATLAB 程序自动转换为独立于 MATLAB 运行的 C 和 C+代码。允许用户编写可以和MATLAB 进行交互的 C 或 C+语言程序。另外, MATLAB 网页服务程序还容许在 Web 应用中使用自己的 MATLAB 数学和图形程序 4。 ( 7)应用软件开发(包括用户界面) 在开发环境中,使用户更方便地控制多个文件和图形窗口;在编程方面支持了函数嵌套,有条件中断等;在图形化方面,有了更强大 的图形标注和处理功能,包括对性对起连接注释等;在输入输出方面,可以直接向 Excel 和 HDF

15、5 进行连接 4。 2.2 MATLAB GUI 介绍 GUI 是 Graphical User Interfaces 的简称,是由窗口、光标、按键、菜单、文字说明等对象构成的一个用户界面。用户通过一定的方法(如鼠标或键盘)选择、激4 活这些图形对象,使计算机产生某种动作或变化。 GUI 是向别人提供应用程序,进行某种技术、方法的演示,制作一个反复使用且操作简单的专用工具的最好选择之一 5。 一个好的 GUI 能够使程序更加容易使用。 它提供给用户一个常见的界面,还提供一些控件,例如按钮、列表框、滑块、菜单等。用户图形界面应当是易理解且操作是可以预告的,所以当用户进行某一项操作时,它知道如何去

16、做 5。 实现一个 GUI 的过程包括两个基本任务:一是 GUI 的组建布局,另一个是 GUI组件编程。另外,用户还必须能够保存并发布自己的 GUI,使得用户开发的图形用户界面真正得到应用。所用这些功能都可以通过图形用户界面开发环境来完成 5。 在 MATLAB 中 GUIDE 是一个组件布局工作集,能够生成用户所需的组件资源并保存在一个 FIG 文件中:其次, GUIDE 还可以生成一个包含 GUI 初始化和发布控制代码的 M 文件,该文件为回调函数(用户在图形界面中激活某一控件时要执行的函数)提供了一个框架。事实上,用户也可以通过调用组件函数 M 文件来实现 GUI 中所有组件的布局,但是

17、使用 GUIDE 交互式的组件布局将会大大减小工作量 6。 MATLAB 是一种面向对象的高级计算机语言,其数据可视化技术中的各种图形元素,实际上都是抽象图形对象的实例, MATLAB 中由图形命令产生的每一件东西都是图形对象。它们包括图形窗口,还有坐标轴、线条、曲面、文本和其他。各种图形对象和其间的关系如下图 所示。 r o o t 根 对 象( 计 算 机 屏 幕 )图 形 框 架 窗 口( f i g u r e )坐 标 轴 对 象注 释 坐 标 轴( 隐 藏 )U I ( m e n u , c o n t r o l ) 对 象矩 形 对 象片 块 对 象线 条 对 象图 像 对

18、象 文 本 对 象 表 面 对 象 光 源 对 象组 对 象绘 制 对 象父子关系兄 弟 关 系5 3 解线性代数方程组的迭代法 3.1 向量、矩阵范数与谱半径 7, 8, 9 定义 3.1 设 nxR (或 nxC ), ()N x x 为 x 的实值函数。若它满足下列条件: ( 1)非负性 0x , 00xx (零向量), ( 3.1.1) ( 2)齐次性 kx k x , k 为任意实数(或复数), ( 3.1.2) ( 3)三角不等式 , nx y x y x y R (或 nC ), ( 3.1.3) 则称 ()N x x 为 nR (或 nC )上的一个向量范数(或向量模), x

19、的值称为向量 x 的范数。 由三角不等式还可推出不等式 x y x y ( 3.1.4) 向量范数有多种,常见的有一下三种: 2 1/ 22 1()niixx , ( 3.1.5) 1 1niix x, ( 3.1.6) 1max iinxx , ( 3.1.7) 分别称为向量的 2 范数, 1 范数和无穷范数。直接验证即知它们都满足向量范数的定义。 2是我们熟知的 Euclid 空间中的向量长度,也叫 Euclid 模。容易得出,这三种范数满足关系 2 nx x x, ( 3.1.8) 1 nx x x. ( 3.1.9) 定义 3.2 设 ( ) ( ) ( ) ( )12 ( , , ,

20、 ) k k k k Tnx x x x 为 nR 上的一个向量序列( k =1,2, ),* * * *12( , , , )Tnnx x x x R.如果对 i =1,2, , n 有 6 ( ) *lim ,kiik xx 则称向量序列 ()kx 收敛于向量 *x 。 容易证明, ()kx 收敛于向量 *x 的充要条件是 ( ) *lim 0kk xx . 再由( 3.1.8)和( 3.1.9)式,上式成立的充要条件是 ( ) *2lim 0kk xx 或 ( ) *1lim 0kk xx . 这表明向量序列 ()kx 若按某种范数收敛,则按别的范数也收敛。 定义 3.3 设 nnAR

21、(或 nnC ), ()N A A 为 A 的实值函数,若它满足下列条件: ( 1) 非负性 0 , 0 0A A A (零矩阵), ( 3.1.10) ( 2) 齐次性 kA k A , k 为任意实数(或复数), ( 3.1.11) ( 3) 三角不等式 , nnA B A B A B R (或 nnC ), ( 3.1.12) 则称函 数 ()N x A 为 nnR (或 nnC )上的一个矩阵范数(或矩阵模), A 的值称为矩阵 A 的范数。 满足如下条件的叫相容范数: , , ,nnA B A B A B R ( 3.1.13) , , .n n nA x A x x R A R ( 3.1.14) A 的算子范数: 01m a x m a x ,ppPpxxpAxA A xx( 3.1.15) 定理 3.1 由( 3.1.15)所定义的矩阵范数为相容范数。 定理 3.2 对于由( 3.1.15)式所定义的矩阵范数,下列等式成立:

Copyright © 2018-2021 Wenke99.com All rights reserved

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

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

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