MATLAB中文论坛鼎力推荐,MATLAB技术论坛鼎力推荐
配24.5小时多媒体教学视频,提供教学PPT
涵盖739个典型实例,紧密结合实际工程应用,编程技巧贯穿其中
涵盖数值分析、数据可视化、系统仿真、数字图像处理、系统建模、符号计算、数字信号处理、神经网络8大应用领域
超值DVD光盘内容
《MATLAB应用大全(附光盘)》教学视频
《MATLAB应用大全(附光盘)》源文件
《MATLAB应用大全》由浅入深,全面、系统地介绍了MATLAB编程和开发的方方面面。书中的每章都提供了大量有针对性的实例,供读者实战演练。另外,为了帮助读者更高效、直观地学习,《MATLAB应用大全》每章重点内容都专门录制了对应的教学视频。这些视频和 《MATLAB应用大全》所有的实例文件一起收录于配书DVD光盘中。
《MATLAB应用大全》共23章,分为7篇。基础篇介绍了MATLAB基础、数组和矩阵分析、字符串分析;科学运算篇介绍了MATLAB数据分析、积分和微分运算、概率和数理统计、符号计算;数据可视化篇介绍了二维和三维数据的可视化;编程篇介绍了MATLAB基本编程、程序调试和编程技巧;仿真篇介绍了Simulink基本知识、Simulink建模和S-函数;高级应用篇介绍了GUI编程开发、GUIde工具建立GUI界面、文件夹管理和文件I/O操作、MATLAB编译器;工具箱与接口编程篇介绍了信号处理、小波分析、图像处理、神经网络4个工具箱,还介绍了MATLAB与Word和Excel的接口技术。
无论是对于MATLAB的初学者,还是有一定基础的高级用户,《MATLAB应用大全》都是一本难得的参考书。《MATLAB应用大全》非常适合使用MATLAB进行编程和开发的本科生、研究生及教师,还适合广大科研和工程技术人员研读。
《MATLAB应用大全(附光盘)》涵盖的内容及视频:
MATLAB概述(15分钟视频)
MATLAB基础(78分钟视频)
数组和矩阵分析(160分钟视频)
字符串分析(19分钟视频)
多项式、插值、极限(33分钟视频)
积分和微分运算(27分钟视频)
概率和数理统计(94分钟视频)
符号计算(124分钟视频)
二维数据可视化(112分钟视频)
三维数据可视化(75分钟视频)
MATLAB脚本和函数编程(77分钟视频)
程序调试和编程技巧(33分钟视频)
Simulink基本知识(61分钟视频)
Simulink建模和S-函数(32分钟视频)
GUI编程开发(70分钟视频)
GUIDE工具(79分钟视频)
文件夹管理和文件I/O操作(89分钟视频)
MATLAB编译器(28分钟视频)
信号处理工具箱(75分钟视频)
小波分析工具箱(54分钟视频)
图像处理工具箱(78分钟视频)
神经网络工具箱(31分钟视频)
MATLAB与Word和Excel的接口(33分钟视频)
第1章 MATLAB概述
MATLAB源于Matrix Labortary,即矩阵实验室,是由美国Mathworks公司发布的主要面对科学计算、数据可视化、系统仿真,以及交互式程序设计的高科技计算环境。
MATLAB将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。
MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB软件提供了大量的工具箱,可以用于工程计算、控制设计、信号处理与通信、图像处理、信号检测、金融建模设计与分析等领域,解决这些应用领域内特定类型的问题。MATLAB的基本数据单位是矩阵,非常符合科技人员对数学表达式的书写格式,利用MATLAB解决问题要比C或Fortran等语言简捷的多。
目前MATLAB软件已经发展成为适合多学科、多种工作平台的功能强大的大型软件。在欧美等高等学校,MATLAB软件已经成为线性代数、数字信号处理、动态系统仿真等课程的基本教学工具。
1.2 MATLAB的特点
由于MATLAB软件功能强大,而且简单易学,已经成为高校教师、科研人员和工程技术人员的必学软件,能够极大的提高工作的效率和质量。与其他的计算机高级语言相比,MATLAB软件有许多非常明显的优点。
1.2.1 界面友好,容易使用
MATLAB软件中有很多的工具,这些基本都采用图形用户界面。MATLAB的用户界面非常接近Windows的标准界面,操作简单,界面比较友好。最新的MATLAB版本提供了完整的联机查询、帮助系统,极大地方便了用户的使用。MATLAB软件提供的M文件调试环境也非常简单,能够很好的报告出现的错误及出错的原因。MATLAB软件是采用C语言开发的,它的流程控制语句和语法与C语言非常相近。如果初学者有C语言的基础,就会很容易地掌握MATLAB编程和开发。MATLAB编程语言非常符合科技人员对数学表达式的书写格式,便于非计算机专业人员使用。MATLAB语言可移植性好、可拓展性强,已经广泛应用于科学研究及工程计算各个领域。
1.2.2 强大的科学计算和数据处理能力
MATLAB软件的内部函数库提供了非常丰富的函数,可以方便地实现用户所需的各种科学计算和数据处理功能。这些函数所采用的算法包含了科研和工程计算中的最新研究成果,并经过了各种优化和容错处理。这些内部函数经过了无数次的检验和验证,稳定性非常好,出错的可能性非常小。利用MATLAB软件进行科学计算和数据处理,是站在巨人的肩膀上,可以节省用户大量的编程时间。用户可以将自己主要的精力放到更具有创造性的工作上,把繁琐的底层工作交给MATLAB软件的内部函数去做。
1.2.3 强大的图形处理功能
MATLAB软件具有非常强大的数据可视化功能,可非常方便地绘制各种复杂的二维图形、三维图形和多维图形。MATLAB具有强大的图形处理功能,自带很多的绘图的函数,还可以非常方便地给图形添加标注、标题、坐标轴等。MATLAB 2010a对于三维图形,还可以设置视角、色彩控制及光照效果等。此外,MATLAB软件还可以创建三维动画效果及隐函数绘图等,可用于科学计算和工程绘图。
1.2.4 应用广泛的专业领域工具箱
在MATLAB软件对许多专门的领域都开发了功能强大的工具箱,在MATLAB 2010a软件中共有40多个工具箱。这些工具箱都是由特定领域的专家开发的,用户可以直接使用工具箱学习、应用和评估不同的方法而不需要自己编写代码。MATLAB工具箱中的函数源代码都是可读和可修改的,用户可通过对源程序的修改或加入自己编写的程序可构造新的专用工具箱。在本章的1.8节列出了MATLAB软件的常用工具箱,本书将详细介绍这些工具箱,例如符号计算工具箱、信号处理工具箱、图像处理工具箱、小波分析工具箱和神经网络工具箱等。
1.2.5 实用的程序接口
MATLAB软件是一个开放的平台。通过MATLAB软件的外部程序接口,用户可以非常方便地利用MATLAB同其他的开发语言或软件进行交互,发挥各自的优势,提高工作效率。利用MATLAB软件的编译器可以将M文件,转换为可执行文件或动态链接库,可以独立于MATLAB软件运行。在MATLAB软件中,还可以调用C/C++语言、Fortran语言、Java语言等编写的程序。此外,MATLAB软件还可以和办公软件例如Word和Excel软件等,进行很好的交互。
1.3 MATLAB 2010a的新功能和特点
MATLAB在每年的3月和9月推出当年的a版本和b版本。本书采用的是MATLAB 2010a版本。该版本增加了一些新的功能。在MATLAB的命令行窗口输入whatsnew后,在MATLAB的帮助浏览器中将显示MATLAB 2010a的新功能。
MATLAB 2010a对MATLAB和Simulink,以及若干工具箱进行了更新和缺陷修复,已经购买MathWorks公司软件维护服务的用户可以下载产品更新。MATLAB 2010a版本的新功能包括:
* 增加更多多线程数学函数,增强文件共享、路径管理功能及改进了MATLAB桌面。
* 新增用于在 MATLAB 中进行流处理的系统对象,并在Video and Image Processing Blockset 和 Signal Processing Blockset中提供超过140种支持算法。
* 针对50多个函数提供多核支持并增强性能,并对图像处理工具箱中的大型图像提供更多支持。
* 在全局优化工具箱和优化工具箱中提供新的非线性求解器。
* 能够利用工具箱Symbolic Math Toolbox生成Simscape 语言方程。
* 在SimBiology中提供随机近似最大期望(SAEM)算法等。
在Simulink产品系列的新功能包括:
* 在Simulink中提供可调参数结构、触发模型块及用于大型建模的函数调用分支。
* 在嵌入式IDE链接和目标支持包中提供针对Eclipse、嵌入式Linux及ARM处理器的代码生成支持。
* 在IEC认证工具包中提供对Real-Time Workshop Embedded Coder和PolySpace产品的ISO 26262认证。
* 在DO鉴定工具包中提供扩展至模型的DO-178B鉴定支持。
* 新工具Simulink PLC Coder,用于生成PLC和PAC IEC 61131结构化文本。
1.4 MATLAB的安装、退出及卸载
MATLAB的安装非常简单,将MATLAB安装光盘插入到光驱,然后直接运行setup.exe进行安装。下面详细介绍MATLAB 2010a的安装、退出和卸载过程。
1.4.1 MATLAB的安装
本书以MATLAB 2010a为例,介绍MATLAB的安装过程。
(1)进入MATLAB 2010a的安装目录,单击setup.exe文件后,会显示准备安装,然后开始安装,并显示如图1.1所示的对话框。两个单选按钮中,前者为应用Internet进行安装,后者不用Internet进行安装,二者没有太大区别,通常选择后者。本书选择不用Internet进行安装。单击Next按钮,进入下一步。
图1.1 MATLAB 2010a安装对话框
(2)之后显示“软件许可协议”对话框,如图1.2所示。选择“Yes”单选按钮接受软件许可协议,然后单击Next按钮进行下一步的安装。
图1.2 “许可协议”对话框
(3)此时进入“输入安装序列号”对话框,如图1.3所示。在其中填入MATLAB 2010a的序列号,然后单击Next按钮,进入下一步。
(4)在进入的“安装类型”对话框中,有Typical和Custom两个选项,如图1.4所示。如果选择Typical选项,系统将会自动安装最常用的工具箱。如果选择Custom选项,用户可以根据自己的实际需要选择需要安装的工具箱。本书选择Custom选项,然后单击Next按钮进入下一步的安装。
(5)之后出现“安装路径选择”对话框,如图1.5所示。用户可以单击Browse按钮选择需要安装的路径。系统的默认安装路径为C盘的C:\Program Files\MATLAB\R2010a。然后,单击Next按钮进入下一步。
图1.3 “输入序列号”对话框
图1.4 “安装类型”对话框
图1.5 “安装路径选择”对话框
(6)接着出现了“工具箱选择”对话框,如图1.6所示。用户可以选择工具箱前面的复选框,来选择是否安装该工具箱,系统默认为所有的工具箱都为选中状态。如果所有的工具箱都安装,大概需要将近6G的空间。本书选择所有的工具箱,然后单击Next按钮进入下一步。
图1.6 “工具箱选择”对话框
(7)然后进入“安装选项”对话框,如图1.7所示。在该对话框中可以设置是否在桌面和启动菜单添加快捷方式,以及和MATLAB相关的文件类型等。单击Next按钮进入下一步。
图1.7 “安装选项”对话框
(8)此时进入“安装确认”对话框,如图1.8所示。本书选择的MATLAB安装路径为E:\MATLAB,选择了所有的工具箱。如果用户的硬盘空间足够的话,建议完整安装所有的工具箱。之后单击Install按钮进行安装。
(9)开始MATLAB 2010a的正式安装,并显示安装的进度,如图1.9所示。安装的速度取决于计算机的硬件配置,以及选择的工具箱个数。
图1.8 “安装确认”对话框
图1.9 “安装进度”对话框
1.4.2 MATLAB的启动和退出
MATLAB 2010a安装结束后,用户可以有通过单击“开始”菜单中的MATLAB来启动MATLAB系统,也可以在MATLAB的安装目录下找到MATLAB.exe然后单击运行。此外,用户可以在桌面建立MATLAB的快捷菜单,通过双击快捷方式图标,也可以启动MATLAB系统。
MATLAB默认的启动目录是:C:\Documents and Settings\Administrator\My Documents\ MATLAB,可以进行修改。右击桌面上的MATLAB R2010a快捷图标,在弹出的快捷菜单中选择“属性”命令,会弹出快捷菜单的属性设置窗口,如图1.10所示。设置MATLAB的初始目录为:D:\Matlab2011\Program\chap1。
有以下3种方法可以退出MATLAB软件:
* 在MATLAB的主窗口中选择File| Exit MATLAB命令,或按快捷键Ctrl+Q。
* 在MATLAB的命令行窗口中输入exit或quit。
* 单击MATLAB主窗口右上角的关闭按钮,进行关闭。
1.4.3 MATLAB的卸载
用户如果想卸载MATLAB软件,可以通过Window控制面板中的添加或删除程序来卸载MATLAB软件,如图1.11所示。
图1.10 设置初始目录 图1.11 控制面板的“添加/删除程序”对话框
在图1.11中,单击“更改/删除”按钮,弹出对话框,如图1.12所示,用户可以在其中选择要卸载的程序或工具箱,系统默认全部程序和工具箱都为选中状态。单击Uninstall按钮,可进行MATLAB的卸载。
图1.12 卸载MATLAB对话框
1.5 MATLAB的目录结构
用户成功将MATLAB安装到D:\MATLAB后,该文件夹中的文件如图1.13所示。用户可以查阅各个文件夹的内容。
图1.13 MATLAB安装后的目录
在图1.13中,各个文件夹的内容介绍如表1.1所示。可以单击快捷方式MATLAB R2010a来启动MATLAB软件。
表1.1 MATLAB安装文件夹的目录结构
文 件 夹
说 明
bin
MATLAB的可执行文件
extern
MATLAB的外部程序接口
help
MATLAB的帮助系统
ja
MATLAB的国际化文件
java
MATLAB的Java支持程序
lib
几个库文件
license
MATLAB软件的许可协议
notebook
MATLAB和Word的接口文件
rtw
Real-TIme Workshop软件包
runtime
运行时库
simulink
Simulink软件包,用于系统的建模和仿真
stateflow
Stateflow软件包,用于状态机的设计
续表
文 件 夹
……