MATLAB科学计算及分析(txt+pdf+epub+mobi电子书下载)


发布时间:2020-10-15 23:19:36

点击下载

作者:唐培培,戴晓霞,谢龙汉

出版社:电子工业出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

MATLAB科学计算及分析

MATLAB科学计算及分析试读:

前言

近年来,随着科学技术的快速发展,科学计算正日益受到关注,发展越来越快,已经成为当今科学研究的三大基本手段之一。MATLAB作为一个功能强大的科学计算平台,提供了用于解决有关工程、科学、计算和机械学科等方面诸多问题的强大而丰富的功能,几乎能满足所有的计算需求,因而已经成为最受欢迎的科学计算工具之一。

作为科学计算的重要工具,MATLAB自从诞生以来得到了快速的发展,其应用领域已经拓展到了各个行业,其功能也得到了不断完善,到目前为止已经发展到了MATLAB R2009a,它提供的丰富的应用工具箱,使应用范围更加广泛,功能也越来越强大。同时,MATLAB还为外部程序提供了多种功能完整的接口来和外部程序或其他程序语言进行沟通,从而大大增强了它的计算能力。

MATLAB操作简单,易于入门,已经成为不同专业的学生、科研及工程技术人员不可或缺的工具,而且得到了广泛的认可,甚至很多专业已经把MATLAB作为基本的计算工具。为了更好地了解MATLAB系统,并将其应用到各个不同的领域,解决越来越复杂的科学计算问题,作者结合最新版的MATLAB编写了本书,希望对读者能够有所帮助。本书旨在全面系统地介绍MATLAB在科学计算中的功能,使其成为不同专业学生、科研及工程技术人员的重要科学计算工具。在编写过程中,本书突出了如下特点:

①内容系统全面。本书全面详尽地讲述了MATLAB基础及科学计算功能,重点讲述了MATLAB的程序设计基础、图形处理和图形用户界面、Simulink仿真模块、线性方程组、非线性方程(组)、矩阵特征值问题、微分方程(组)、拟合和插值、最优化、变换及分析、概率及统计分析、数值积分和复变函数、偏微分方程有限元求解等领域的应用,内容广泛,覆盖了科学计算的主要内容,并且在每章中都提供了丰富的实例,使读者更加容易理解各个知识点。

②直观易懂。本书以图解实例的形式介绍基础知识和实例操作,所有的知识点和操作流程都尽可能集中在各个实例中,直观易懂,使用户能够在最短的时间内获取最多的知识。

③先进性。以最新的MATLAB R2009a为蓝本进行讲解,并参阅了国内外大量的成功教材,一切从满足读者的需求出发。

④结构清晰,讲解详尽。本书采用“基础知识—各小节实例—综合实例”的循序渐进的讲解方法,一步步地提高读者掌握MATLAB知识的能力,而且每个知识点和实例都进行了尽可能详细地讲解,使用户学习起来轻松自如。

⑤多媒体示范。本书的配套光盘中提供了所有实例的视频操作,用户可以在观看录像过程中增强对知识点的理解。

本书共16章,按内容可以分为两大部分。第1部分(第1~4章)为MATLAB基础知识,依次介绍了MATLAB的程序设计基础、图形处理和图形用户界面、Simulink仿真模块。

第1章 绪论。介绍MATLAB在科学计算中的优势,MATLAB的丰富强大的功能模块,以及MATLAB的工作环境和常用的输入/输出操作,在这章的最后给出了MATLAB的安装方法。

第2章 MATLAB程序设计。介绍MATLAB程序设计的基础知识,包括MATLAB的基本数据类型,循环控制语句,M函数,以及MATLAB调试方法。

第3章 绘图与界面。介绍MATLAB的二维、三维绘图功能,以及图形用户界面的创建和相关组件的属性。

第4章 Simulink仿真。介绍MATLAB的仿真模块的基本功能,建模仿真的基本方法,子函数及其封装技术,S函数模块及其应用。

第2部分(第5~12章)介绍MATLAB在科学计算中的应用,分别介绍了在线性方程组、非线性方程(组)、矩阵特征值问题、微分方程(组)、拟合和插值、最优化、变换及分析、概率及统计分析、数值积分和复变函数、偏微分方程有限元求解等各个专业分支的MATLAB求解方法,以及C语言与MATLAB接口。

第5章 线性方程组求解。针对两种不同类型的线性方程组,给出了两种求解方法。一种是直接法,用来求解低阶稠密矩阵方程组;另一种是迭代法,一般是用来求解大型稀疏矩阵的重要方法,主要介绍了Jacobi迭代法、Gauss-Seidel迭代法、超松弛迭代法、共轭梯度法、Bicg迭代法和Bicgstab迭代法等。

第6章 非线性方程(组)求解。常见的求解非线性方程(组)的方法是迭代法。本章主要介绍了二分法、牛顿法、割线法、拟牛顿法,以及Halley迭代法。

第7章 矩阵特征值求解。介绍了常见的求解矩阵特征值和特征矢量的计算方法,包括幂法、反幂法、QR方法、对称QR方法、Jacobi方法、二分法。

第8章 微分方程(组)求解。介绍了常微分方程初值问题在MATLAB中的求解方法,主要介绍了单步法,如Euler方法、改进的Euler方法,线性多步法,如Adams外插法、Adams内插法,以及偏微分方程求解中的差分法,常微分方程组的数值求解等。

第9章 拟合与插值。介绍对于给定的数据,如何利用MATLAB实现数据的拟合与插值,实现利用MATLAB解决数据插值和拟合问题。

第10章 优化。介绍最优化中的几个重要问题的实现方法,包括方程求根、线性规划、整型规划、0-1规划、无约束规划、有约束规划,以及二次规划,并且比较系统地介绍了MATLAB中解决这些问题的关键函数。

第11章 变换及分析。介绍MATLAB在信号处理方面的功能,包括基本Fourier变换及逆变换、离散Fourier变换、快速Fourier变换及逆变换、Laplace变换及逆变换、Z变换及逆变换,最后还介绍了滤波器的设计。

第12章 概率及统计分析。介绍了概率统计中的几个重要概率密度及分布函数、随机变量的数字特征和随机数的生成、参数估计和假设检验、线性回归分析,以及统计图形的绘制。

第13章 数值积分及复变函数。介绍了一些常见的数值积分方法,以及在MATLAB中的实现,包括中点公式、Newton-Cotes公式、Gauss公式、三角形上的求积公式,以及MATLAB中提供的求积函数。同时,本章还给出了复变函数在MATLAB中的处理方法,包括复变函数的极限、求导,以及积分、复变函数的Taylor级数展开、复变函数的图像绘制,以及留数的求解方法及其应用。

第14章 有限元分析法。介绍在MATLAB工作环境下,利用MATLAB提供的偏微分方程工具箱,实现用有限元方法求解偏微分方程数值解。

第15章 工程实例。结合第14章给出的有限元求解偏微分方程的方法,列举了几个用有限元方法求解偏微分方程的实例。

第16章 C语言与MATLAB接口。介绍了MATLAB中用来调用C函数和FORTRAN子程序的MEX文件实现方法,使用MATLAB引擎实现MATLAB执行运算并向C程序或FORTRAN程序返回结果的过程,以及创建和访问标准MATLAB MAT文件以实现数据交流的实现方法。

本书主要由杭州师范大学唐培培博士、戴晓霞博士,华南理工大学谢龙汉博士共同完成,参加本书编写和光盘开发的还有林伟、魏艳光、林木议、王悦阳、林伟洁、林树财、郑晓、吴苗、李翔、莫衍、朱小远、耿煜、尚涛、邓奕、张桂东、鲁力、刘文超、刘新东等。由于时间仓促,书中难免有疏漏之处,请读者谅解。读者可通过电子邮件wjktpp@yahoo.com.cn与我们交流。编者|第1部|分基础知识第1章 绪论

本章主要介绍MATLAB在科学计算中的优势,以及MATLAB工作环境中的桌面平台的菜单、工具栏、组件、属性设置及常用命令。同时,简要介绍了MATLAB丰富强大的功能模块,常用的数据输入/输出处理,以及文件操作。MATLAB提供的丰富的在线帮助系统使得用户更加容易学习MATLAB,再加上MATLAB强大的功能模块,使得MATLAB在科学计算中起着越来越重要的作用。

本章内容

MATLAB桌面平台

MATLAB功能模块

数据输入/输出

文件操作

在线帮助

MATLAB安装方法1.1 MATLAB科学计算概述

科学计算是伴随电子计算机的出现而迅速发展并获得广泛应用的新兴交叉学科,是数学及计算机应用于高科技领域的必不可少的纽带和工具。通常实际的问题,可以根据物理的定律或假设,导出反应此现象的数学公式或模型。透过数学分析与计算,再经由计算机计算之后,可以模拟、估计与预测此物理现象。

科学计算大致可以分为以下几个步骤:

第1步 建立数学模型。通过对实际问题进行数学抽象得到一个数字模型,这个模型必须简单、合理、真切地反映实际问题的本质。因此,在这个过程中应当深入了解实际问题,通过数学、实验、观察和分析相结合,建立优质的数学模型。

第2步 设计高效的计算方法。通过对数学模型的分析,针对不同的问题设计高效的算法。在这个过程当中需要考虑算法的计算量,以及计算所需要的存储空间等问题,在计算中时间与空间是相互矛盾的两个量,如何在这两者之间取舍是设计算法时需要考虑的问题。

第3步 分析计算方法。对第2步给出的算法进行理论分析,如算法的收敛速度、误差估计、稳定性等。算法的理论分析是科学计算的基础,它已经成为数学中的一个重要分支。

第4步 程序设计。根据设计的算法,编写高效的程序,并在计算机上运行,来验证第3步所做的理论分析的正确性及所用的计算方法的有效性。

第5步 计算模型问题。将设计的程序应用于第1步建立的数学模型,并将得到的数值结果与实际问题相比较,以考证所建立的数学模型的合理性。当对建立的数学模型考证完毕,就可以进行预测和评估,并得出相应的结论。

计算机的快速发展使得人们越来越广泛地使用计算机来模拟客观的现实世界,从而预测和估计未来的趋势或者模拟在实验中无法重复或进行的自然社会现象。因而科学计算已经成为科学活动的前沿,它已上升成为一种主要的科学手段。事实上计算的兴起已形成其与实验、理论鼎足而立之势,此三者已成为科学研究方法上相辅相成而又相对独立、可以互相补充替代而又彼此不可或缺的三个主要方法。

MATLAB是MathWorks公司开发的集算法开发、数据可视化、数据分析,以及数值计算于一体的一种高级科学计算语言和交互式环境。它为满足工程计算的要求应运而生,经过不断发展,目前已成为国际公认的优秀数学应用软件之一。MATLAB不仅可以处理代数问题和数值分析问题,而且还具有强大的图形处理及仿真模拟等功能,它能很好地帮助工程师及科学家解决实际的技术问题。

作为一种数学应用软件,MATLAB的发展与数值计算的发展密切相关。20世纪70年代中期,时任美国新墨西哥大学计算机系主任的Cleve Moler教授出于减轻学生编程负担的动机,为学生设计了一组调用LINPACK和EISPACK库程序的“通俗易用”的接口,并以MATLAB作为该接口程序的名字,意为矩阵实验室(Matrix Laboratory),此即用FORTRAN编写的萌芽状态的MATLAB。经过几年的校际流传,在Little的推动下,由Little、Moler、Steve Bangert合作,于1984年成立了MathWorks公司,把MATLAB正式推向市场,并开始了对MATLAB工具箱等的开发设计。从那时起,MATLAB的内核采用C语言编写,而且除原有的数值计算能力外,还新增了数据图视功能。

1993年,MathWorks公司推出了基于个人计算机的MATLAB 4.0版本,1995年推出了MATLAB 4.2c版本,从1997年春的5.0版起,后历经5.1、5.2、5.3等多个版本的不断改进,2000年10月底推出了全新的MATLAB 6.0正式版(Release 12),其在核心数值算法、界面设计、外部接口、应用桌面等诸多方面有了极大的改进。这时的MATLAB支持各种操作系统,它可以运行在十几个操作平台上,其中比较常见的有基于Windows 9X/NT、OS/2、Macintosh、Sun、UNIX、Linux等平台的系统。现在的MATLAB已不再是一个简单的矩阵实验室了,它已经演变成一种具有广泛应用前景的全新计算机高级编程语言。2001年,MathWorks公司推出了MATLAB 6.x版本,6.x版在继承和发展其原有的数值计算与图形可视能力的同时,推出了Simulink,打通了MATLAB进行实时数据分析、处理和硬件开发的道路。2006年9月,MATLAB R2006b正式发布,从那时开始,MathWorks公司将每年进行两次产品发布,时间分别在每年的3月和9月,而且每次发布都会包含所有的产品模块。目前,MATLAB的最新版本是2009年3月6日发布的MATLAB R2009a。本书是基于MATLAB R2009a编写的。1.2 MATLAB科学计算的优势

MATLAB不仅是一种直观、高效的高级语言,同时又是一个科学计算的平台。它功能强大、简单易学、编程效率高,深受广大科技工作者的欢迎,这是由于应用MATLAB系统进行科学计算有非常大的优势。

首先,MATLAB提供了一种高级语言和多种开发工具,可以迅速开发和分析算法和应用。由于MATLAB语言支持矢量和矩阵操作,以矩阵作为其语言系统的最基本要素,从而极大地简化了线性运算,矩阵和矢量操作是科学计算的基础,从而大大提高了科学计算的效率。因为MATLAB语言不需要执行低级管理任务,如声明变量、指定数据类型、分配内存,而且有许多情况下,MATLAB不需要使用“for”循环,而是通常只用一行MATLAB代码代替多行C或C++代码,因此可以比传统语言更快地编程和开发算法。同时,MATLAB提供了传统编程语言的所有功能,包括数学运算符、流程控制、数据结构、面向对象的编程和调试功能。

为快速执行繁重的矩阵和矢量计算,MATLAB采用处理器优化程序库,对通用标量计算,MATLAB使用JIT(Just In Time)汇编技术生成机器代码。这种技术可以用于大多数平台,提供了相当于传统编程语言的执行速度。

MATLAB带有多种开发工具,帮助有效实现算法,包括MATLAB Editor(提供了标准编辑和调试功能,如设置断点和单步执行)、M-Lintcode Checker(分析代码,推荐改动方案,改善性能和维护能力)、MATLAB Profiler(记录执行每行代码所用的时间)、Directory Reports(扫描一个目录下的所有文件,报告代码效率、文件差异、文件相关性和代码覆盖范围)。

其次,MATLAB具有丰富的应用功能,大量实用的辅助工具箱适合不同专业研究方向及工程需求的用户使用。MATLAB系统由两部分组成,即MATLAB主程序、Simulink动态系统仿真及辅助工具箱,它们构成了MATLAB的强大功能。

MATLAB内核是MATLAB系统的核心内容,包括MATLAB语言系统、MATLAB开发环境、MATLAB图形系统、MATLAB数学函数库,以及MATLAB应用程序接口等。MATLAB语言系统从本质上讲是以矩阵的存储和运算为基础的,几乎所有的操作都可以归结为矩阵的运算,同时MATLAB语言系统也具有结构化程序设计语言的一切特点。MATLAB开发环境有基本开发环境与辅助开发环境。其中,基本开发环境包括启动和退出MATLAB、MATLAB桌面系统、MATLAB函数调用系统,以及帮助系统。辅助开发环境包括工作空间、路径和文件管理系统、数据交换系统、M文件编辑调试系统、M文件优化系统、源控制处理系统,以及记事本系统。MATLAB系统提供了强大的图形操作功能,可以方便地将分析数据可视化,GUI的推出充分展现了MATLAB在图形用户界面处理中的应用。MATLAB数学函数库涵盖了几乎所有的常用数学函数,这些函数以两种不同的形式存在,一种是内部函数,另一种是M函数。MATLAB的应用程序接口可以让MATLAB语言同其他高级语言(如C语言、FORTRAN语言等)进行数据交换,从而大大提高运行速度。

MATLAB的强大功能很大程度上源于它所包含的众多辅助工具箱。工具箱分为辅助功能性工具箱和专业性功能箱。辅助功能性工具箱主要用来扩充其符号计算功能、可视建模仿真功能及文字处理功能等。而专业性工具箱是由不同领域的专家学者编写的针对性很强的专业性函数库,如数学优化工具箱、金融建模和分析工具箱、控制系统设计和分析工具箱等。正由于这些强大的专业性工具箱,使得MATLAB在科学计算的各个领域有着非常广泛的应用。

MATLAB系统提供的Simulink模块大大地增强了MATLAB的功能,使得用户能对真实世界的动力学系统建模、模拟和分析,通过分析用户很容易构建出符合特定要求的模型,并对模型进行分析和模拟。

上述MATLAB的几个强大优势使得MATLAB在科学计算中起着非常重要的作用,在后续章节中将分别展开介绍这些功能。1.3 MATLAB工作环境

MATLAB的界面制作地非常简单易懂,为了使大家对MATLAB有一个初步的认识,本节主要介绍了MATLAB的工作环境,包括MATLAB桌面平台的菜单、工具栏、组件、属性及常用命令。本书主要是基于MATLAB R2009a来编写的,需要说明的是,MATLAB各个版本之间的变化不大,主要的变化是增加一些工具箱等,而在界面内容、形式、使用风格、主要功能等方面则几乎没有变化。

1.3.1 桌面平台的菜单

下面简要介绍一下MATLAB桌面平台的菜单操作,它主要有7个菜单。

1. File(文件)菜单

单击MATLAB桌面平台上的File菜单,弹出菜单如图1-1所示。图1-1 File菜单

New选项后面有个箭头表明New是一个子菜单,用鼠标单击New选项上弹出New子菜单,共有6个选项,如图1-2所示。图1-2 New子菜单

选择New子菜单中的选项Blank M-File,将新建一个空白M文件并打开M文件编辑调试器,如图1-3所示。图1-3 M文件编辑调试器

选择New子菜单中的选项Function M-File,则将新建一个函数M文件并在打开的M文件编辑器中给出M函数的一般框架,如图1-4所示。图1-4 新建函数M文件

选择New子菜单中的选项Class M-File,将新建一个类M文件并在打开的M文件编辑器中给出类M文件的一般框架,如图1-5所示。图1-5 新建类M文件

选择New子菜单中的选项Figure,则将创建一个图形并打开图形窗口,如图1-6所示。图1-6 MATLAB图形窗口

选择New子菜单中的选项Variable,将创建一个名为unnamed、类型为double、值为0的变量。可以用whos命令查看,如图1-7所示。图1-7 查看变量unnamed

选择New子菜单中的选项Model,将创建一个Simulink模式并打开相应的模式编辑器,如图1-8所示。图1-8 模式编辑器

选择New子菜单中的选项GUI,将创建一个MATLAB图形用户界面并打开GUIDE Quick Start,如图1-9所示。图1-9 图形用户界面

选择New子菜单中的选项Deployment Project,将创建一个Deployment Project并打开Deployment Project窗口,如图1-10所示。图1-10 Deployment Project窗口

选择选项Open将激活【打开文件】对话框,打开文件的路径的默认值为当前的搜索路径,它有快捷方式,同时按下键Ctrl和O,执行相同的功能,如图1-11所示。图1-11 【打开文件】对话框

选择选项Close Command Windows,将关闭命令窗口。

选择选项Import Data,跟选项Open类似也将激活【数据导入】对话框,打开文件的路径也是当前的默认搜索路径。与选项Open不同的是,该窗口的文件类型默认为可识别的数据文件类型。选择希望读入的数据文件,将进入数据输入向导,将数据读入工作空间,如图1-12所示。图1-12 【数据导入】对话框

选择选项Save Workspace As,将激活一个保存文件窗口,并且默认的文件保存类型为MAT类型,此时文件的保存路径为当前的默认搜索路径,如图1-13所示。图1-13 保存工作空间

选择选项Set Path,将打开【路径设置】窗口,通过该窗口可以清楚地看到MATLAB当前的路径,并且可以修改和设置路径,如图1-14所示。图1-14 【路径设置】窗口

选择选项Preferenes,将打开【属性设置】窗口,如图1-15所示,这里有丰富的内容将在1.3.4节中作详细的介绍。图1-15 【属性设置】窗口

选择选项Page Setup,将打开【命令窗口页面设置】窗口,在这里可以对命令窗口的页面布局、标题及字体进行设置,如图1-16所示。图1-16 【命令窗口页面设置】窗口

同时,MATLAB还提供了打印功能,选择选项Print和Print Selection,将分别打印当前工作工间和指定对象。

File菜单的接下来几个选项是最近打开的文档,选择它们可以快速打开相应的文件。File菜单的最后一个选项是Exit MATLAB,选择该选项将退出MATLAB系统,它也有快捷方式,同时按下键Ctrl和Q,执行相同的功能。

2. Edit(编辑)菜单

MATLAB系统提供的Edit菜单如图1-17所示,它与一般文本编辑器的Edit菜单选项功能相似的选项在这里就不多介绍了。图1-17 Edit菜单

选择选项Paste to Workspace,如果这时剪贴板上有数据,则将打开数据导入向导,其功能是把剪贴板上的数据输入到工作空间中,如图1-18所示。图1-18 Paste to Workspace窗口

选择选项Clear Command Window、Clear Command History,以及Clear Workspace则将分别清空当前命令窗口、历史命令窗口及工作空间。

3. Debug(调试)菜单

Debug菜单提供了调试所需要的常用命令,如图1-19所示。有些命令将在第2章中作详细介绍,这里就不多说了。图1-19 调试菜单

选择第一个选项Open M-Files when Debugging表明在调试的时候同时打开被调试的M文件,若没选择则不打开相应的M文件。

选择Stop if Errors/Warnings选项,则将打开Stop if Errors/Warnings for All Files窗口,并设置遇到相应情况时的相应处理,如图1-20所示。图1-20 异常情况处理设置窗口

4. Parallel菜单

Parallel菜单有两个选项,如图1-21所示。图1-21 Parallel菜单

选项Select Configuration是一个子菜单,因为现在没有进行并行设计,所以只有一个local选项。选择选项Manage Configurations,将打开Configurations Manager窗口,如图1-22所示。图1-22 Configurations Manager窗口

5. Desktop(桌面)菜单

Desktop菜单是控制桌面系统显示方式的选项集合,如图1-23所示。图1-23 Desktop菜单

第一条灰线以上的选项对当前活动的窗口进行最大化、最小化、解锁、移动,以及调整大小操作,因而当前活动窗口不同显示的命令也不同,如图1-23所示的就是命令窗口,是当前活动窗口时显示的状态。

选项Desktop Layout是一个子菜单,如图1-24所示。图1-24 Desktop Layout子菜单

Desktop Layout子菜单控制着整个桌面系统的显示方式,Default选项为默认方式,如图1-25所示。图1-25 MATLAB默认桌面平台

选项Command Window Only表示仅显示命令窗口;History and Command Window选项表示显示命令窗口和历史命令窗口;All Tabbed选项表示将所有常用的6个窗口以标签的形式显示;All but Command Minimized选项表示显示所有常用的6个窗口,但除了命令窗口外其他窗口均最小化显示,如图1-26所示。图1-26 All but Command Minimized桌面平台

菜单Desktop的Save Layout选项将当前的布局保存以备下次使用,选择该选项会激活Save Layout对话框,如图1-27所示。图1-27 Save Layout对话框

菜单Desktop还包括一组复选项,通过复选项可以控制组件在桌面平台上的显式方式,复选项均为MATLAB桌面组件,其中包括Command Window、Command History、Current Directory、Workspace、Help、Profiler、Toolbar及Titles等。

同时,菜单Desktop还提供了Editor、Figures、Web Browser、Variable Editor及File Comparisons选项。如果选择这些选项,将分别打开编辑器、图形窗口、Web Browser、变量编辑窗口,以及文件和目录比较窗口,如文件和目录比较窗口,如图1-28所示。

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载