出版时间:2012-1 出版社:电子工业出版社 作者:唐培培
前言
近年来,随着科学技术的快速发展,科学计算正日益受到关注,发展越来越快,已经成为当今科学研究的三大基本手段之一。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文件以实现数据交流的实现方法。 本书主要由杭州师范大学唐培培博士、戴晓霞博士,华南理工大学谢龙汉博士共同完成,参加本书编写和光盘开发的还有林伟、魏艳光、林木议、王悦阳、林伟洁、林树财、郑晓、吴苗、李翔、莫衍、朱小远、耿煜、尚涛、邓奕、张桂东、鲁力、刘文超、刘新东等。由于时间仓促,书中难免有疏漏之处,请读者谅解。 编 者
内容概要
MATLAB是适合多学科、多种工作平台的功能强大、界面友好且开放性很强的交互式大型优秀应用软件,特别适合科学计算、数值分析、数字信号处理、自动控制及工程应用等。唐培培、戴晓霞、谢龙汉编著的《MATLAB科学计算及分析》从应用角度出发,通过大量的实例结合科学计算中的重要问题,从MATLAB的基础知识出发,详细地讲解了MATLAB图形处理及图形用户界面,Simulink动态系统仿真,线性方程组求解,非线性方程(组)求解,矩阵特征值求解、优化、统计,微分方程数值解,有限元方法编程,以及与C语言的接口等,并在每章中都有非常丰富的综合实例。《MATLAB科学计算及分析》适合广大MATLAB初学者及相关领域的科研人员,特别是进行大量科学计算的人员使用。
书籍目录
第1部分 基础知识
第1章 绪论
1.1 MATLAB科学计算概述
1.2 MATLAB科学计算的优势
1.3 MATLAB工作环境
1.3.1 桌面平台的菜单
1.3.2 桌面平台的工具栏
1.3.3 桌面组件
1.3.4 属性设置
1.3.5 工作空间常用命令
1.4 功能模块
1.4.1 基础工具
1.4.2 控制
1.4.3 实时目标系统
1.4.4 应用接口
1.4.5 数学与金融
1.4.6 信号通信处理及系统开发
1.4.7 测试测量
1.4.8 其他工具箱
1.5 数据输入/输出与文件操作
1.5.1 数据输入与输出
1.5.2 文件的打开与关闭
1.5.3 二进制文件的读写操作
1.5.4 文本文件的读写操作
1.5.5 数据文件定位
1.6 在线帮助系统
1.7 MATLAB的学习方法
1.8 MATLAB的安装方法
第2章 MATLAB程序设计
2.1 程序基础
2.2 数据类型和运算
2.2.1 常量和变量
2.2.2 数值数据
2.2.3 字符数据
2.2.4 逻辑数据类型
2.2.5 日期和时间
2.2.6 单元数组和结构体
2.3 数组与矩阵
2.3.1 创建数组
2.3.2 数组运算
2.3.3 数组处理函数
实例2-1判断数组元素是否
在另一数组中出现
2.3.4 矩阵及其运算
实例2-2简单线性方程组求解
2.3.5 特殊矩阵
实例2-3利用特殊矩阵快速构造矩阵
2.3.6 稀疏矩阵及函数
实例2-4稀疏矩阵函数的巧用
2.4 控制语句
2.4.1 for循环语句
2.4.2 while循环语句
2.4.3 if-else-end语句
2.4.4 switch-case语句
2.4.5 try-catch语句
实例2-5判断矢量单调性
2.5 M函数
2.5.1 M函数构造规则
2.5.2 输入/输出参数
2.5.3 函数调用
2.5.4 用Feval进行函数运算
实例2-6矢量单调性(包含子函数调用)
2.6 程序调试
实例2-7程序调试实例
2.7 MATLAB编程技巧
2.8 综合实例
实例2-8汉诺塔问题
实例2-9结构体的处理
第3章 绘图与界面
第4章 Simulink仿真
第2部分 MATLAB在科学计算中的应用
第5章 线性方程组求解
第6章 非线性方程(组)求解
第7章 矩阵特征值求解
第8章 微分方程(组)求解
第9章 拟合与插值
第10章 优化
第11章 变换及分析
第12章 概率及统计分析
第13章 数值积分及复变函数
第14章 有限元分析法
第15章 工程实例
第16章 C语言与MATLAB接口
章节摘录
版权页:插图:4.4.1 子系统子系统通过把大的模型分割成几个小的模型系统以使得整个模型更简捷、可读性更高,而且这种操作并不复杂。另一方面,子系统使得把反复使用的模块组压缩成子系统后能重复使用,通过创建子系统可以减少模型窗口中显示的模块个数,使得模块显得简洁整齐,而且子系统使得模型层次化增强了,便于用户按照层次来设计模型。创建子系统有两种方法:第一种是将已经存在的模型的某些部分或全部使用模型窗口菜单Edit-Creat Subsystem选项,将其压缩转换,使选择的模块成为一个子系统。第二种是使用Ports&Subsystems模块库中的Subsystem模块直接创建子系统。第一种创建子系统的方式的一般步骤如下:①使用范围框将要压缩成子系统的部分选择包括模块和信号线,在这里不能用Ctrl来选择,有时为了能使范围框能框住所有需要的模块,需要重新安排模块的位置。②选择要子系统化的模块及信号线后,选择模块窗口的菜单Edit-Create Subsystem,则Simulink会将一个子系统模块来代替被选择的模块组。⑨子系统模块有默认的输入端口和输出端口,输入端口和输出端口的默认名分别为In1,In2,…和Out1,Out2,…。可以适当调整子系统和模型窗口的大小使之更加美观。④做好子系统后,如果想要查看子系统的内容或对子系统进行再编辑,可以双击子系统模块,这时就会出现一个显示子系统内容的新窗口,可以对子系统进行再处理。有一点需要注意的是,一旦将一组模块压缩成一个子系统后,就不能再将系统还原了,因此,一个理想的处理办法就是在压缩子系统之前先将另外模型保存一份,以作备份。第二种创建子系统的方式是直接在子系统窗口中创建,这样省去了压缩子系统和重新安排窗口的步骤。要使用子系统模块创建新的子系统,就从Ports&Subsystems模块库中拖一个子系统块到模型窗口中,双击子系统模块,就会打开子系统编辑窗口,子系统创建完成后,关闭子系统就行了,当对模型进行保存时,子系统里的内容自动会保存进去。
编辑推荐
《MATLAB科学计算及分析》:MATLAB-全球科研技术人员必备计算软件、MATLAB-超强的计算分析编程功能、基础知识-实训实例-工程实例、实例操作视频教学,轻松学习。
图书封面
评论、评分、阅读与下载