MATLAB是由MathWorks公司于1984年推出的一套科学计算软件,分为总包和若干个工具箱。它具有强大的矩阵计算和数据可视化功能,一方面可以实现符号计算、数值分析及优化、统计、自动控制、信号处理等若干个领域的数学计算,另一方面可以实现二维、三维图形绘制、三维场景创建和渲染、科学计算可视化、图像处理和地图制作等图形图像方面的处理。[大谦MATLAB,dqmatlab点com]
MATLAB的主要特点
MATLAB软件的特点可以归纳为以下几点:
1.简单易学
MATLAB是一门编程语言,其语法规则与一般的结构化高级编程语言(如C语言等)大同小异,而且使用更方便,具有一般程序设计语言基础的用户很快就可以掌握。
2.代码短小、高效
由于MATLAB已经将一些数学问题的具体算法编成了现成的函数,用户只要熟悉算法的特点、使用场合、函数的语法格式和参数含义等,通过调用函数很快就可以解决问题,而不必花大量的时间纠缠于具体算法的实现。
3.计算功能非常强大
MATLAB具有强大的矩阵计算功能,利用一般的符号和函数就可以对矩阵进行加、减、乘、除运算,以及转置和求逆等运算,而且可以处理稀疏矩阵等特殊的矩阵,非常适合限大型数值算法的编程。此外,该软件现有的数十个工具箱,可以解决应用中的很多数学问题。
4.强大的图形绘制和处理功能
MATLAB可以绘制常见的二维或三维图形,如线形图、条形图、饼图、散点图、直方图、误差条图、玫瑰花图、极坐标图等。利用有关函数,可以对三维图形进行颜色、光照、材质、纹理和透明性设置及交互处理。在科学计算中要涉及大量数据的处理,利用图形展示数据场的特征,能显著提高数据处理的效率,提高对数据反馈信息的处理速度和能力。MATLAB提供了丰富的科学计算可视化功能,利用它,可以绘制二维或三维向量图、等值线图、三维表面图、曲面图、二维或三维流线图、三维流锥图、流沙图、流带图、流管图、卷曲图和剖面图等,还可以进行动画制作。
5.可扩展性能
可扩展性能是MATLAB的一大优点,用户可以自己编写M文件,组成自己的工具箱,方便地解决本领域内常见的计算问题。此外,利用MATLAB编译器可以生成独立的可执行程序,从而可以隐藏算法并避免依赖MATLAB。MATLAB支持COM组件、.NET程序集、Python包等,可以与同样支持该技术的应用程序接口。
MATLAB主界面简介
MATLAB的主界面如图1-1所示。可见,MATLAB主界面由功能区、当前目录浏览器、工作区、编辑器和命令窗口等几部分组成。可以根据需要改变主界面的外观,包括移动、缩放和关闭工具窗口等。注意,编辑器窗口需要新建或打开脚本时才会显示。
图1-1 MATLAB主界面
MATLAB界面及可打开的窗口如表1-1中所示。默认情况下,它们中间有一些没有显示。如果用户更喜欢命令行运行方式,可以用等价的函数完成界面上工具完成的任务。
表1-1 MATLAB的桌面工具
| 桌面工具 | 描 述 |
|---|---|
| 功能区 | 为常用的操作提供可视化的便捷操作,发布命令 |
| 数组编辑器 | 以表格形式查看和编辑数组的内容 |
| 命令窗口 | 以命令行的方式执行MATLAB语句 |
| 当前目录浏览器 | 查看文件,进行打开、查找和管理文件等操作 |
| 编辑器 | 创建、编辑和调试M文件 |
| 图形窗口 | 创建、修改、查看和打印MATLAB图形 |
| 帮助浏览器 | 查看和搜索所有MathWorks产品的文档 |
| Profiler窗口 | 用图形界面改进M文件的运行 |
| Web浏览器 | 查看HTML和与MATLAB相关的信息 |
| 工作区窗口 | 查看和改变工作区中的内容 |
1功能区
在图1-1中,界面上部为功能区。功能区为比较常用的操作提供可视化的便捷操作。下面主要介绍常用的四个功能区。
“主页”功能区如图1-2所示,主要提供文件、变量、代码、SIMULINK、环境和资源等的便捷操作。
图1-2 “主页”功能区
“绘图”功能区如图1-3所示,在工作区中选择变量以后,“绘图”功能区中的图形类型按钮变为可用,单击按钮,将在命令窗口自动添加命令,并生成对应的图形。单击右侧的下拉箭头按钮,可以看到更多的图形类型。
图1-3 “绘图”功能区
“APP”功能区如图1-4所示,其中列出了若干已经封装功能的应用程序。这些应用程序提供了GUI(图形用户界面),能实现可视化交互操作,用户不需要记操作命令,因而更加便捷。
图1-4 “APP”功能区
“编辑器”功能区如图1-5所示。在这里主要针对MATLAB函数和脚本进行文件、导航、编辑、调试和运行等的辅助操作。
图1-5 “编辑器”工具栏
2命令窗口
命令窗口是MATLAB主要的工作窗口,可以在命令窗口中以命令行的方式输入和执行MATLAB语句。下一小节会详细介绍命令窗口的使用。
3工作区窗口
MATLAB工作区由一系列变量及其值组成,如图1-6所示。可以通过使用命令行语句、运行M文件和载入已经存在的工作区来添加变量。例如,如果输入
>> t=0:pi/4:2*pi;
>> y=sin(t);
工作区包括这两个变量y和t,每个变量有9个值。
可以用工作区窗口显示每个变量的名称、值、数组大小、字节大小和类型。用who函数可以列出当前工作区中的所有变量,用whos函数列出变量信息。例如:
>> who
您的变量为:
t y
>> whos
Name Size Bytes Class Attributes
t 1x9 72 double
y 1x9 72 double
用exist函数查看指定变量是否在工作区中,例如:
>> exist t
ans =
1
返回值为1,说明工作区中存在变量t。
退出MATLAB时,工作区中的内容会被清除。可以将当前工作区中的部分或全部变量保存到一个MAT文件中,它是二进制文件,扩展名为.mat。然后可以在以后使用它时载入它。
单击“主页”功能区中的“保存工作区”按钮,可以保存工作区的变量数据。
按照下面的步骤保存当前工作区中的部分变量。
在工作区中选择变量,按住Shift键的同时连续单击变量名,可以选择多个变量;
单击鼠标右键并从弹出的快捷菜单中选择“另存为…”选项,打开“另存为”对话框;
指定保存路径和文件名,MATLAB自动以.mat扩展名保存;
单击“保存”按钮。
也可以用save命令保存工作区的变量。
按照下面的步骤将变量载入工作区中。
在“主页”功能区上单击“打开”按钮,打开“打开”对话框。
选择要载入的MAT文件并单击“打开”按钮,文件中的变量全部被载入当前工作区中。如果文件中的变量名与已有变量名相同,则覆盖已有变量。
也可以用load命令打开已有工作区,例如:
>> load('matfile')
其中,matfile为MAT文件的名称。
用数组编辑器可以以电子表格的形式查看和编辑一维或二维数值数组、字符串、字符串元胞数组和结构。在工作区浏览器中要打开的变量上单击鼠标右键,在弹出的快捷菜单中单击“打开所选内容”选项,会在编辑器区域添加以变量名称命名的选项卡,如图1-7所示。
图1-7 数组编辑器
现在可以像在Excel中那样实现数据的复制、剪切、粘贴等操作了。总的来讲,数组编辑器的优越性在于提供了一种可视的数据编辑方式。
4当前目录浏览器
用MATLAB的当前目录浏览器可以搜索、查看、打开、查找和改变MATLAB路径和文件,如图1-8所示。
使用当前目录浏览器可以完成以下主要任务:
查看和改变路径;
创建、重命名、复制和删除路径和文件;
打开、运行和查看文件的内容;
查找文件和文件中的内容。
5编辑器窗口
编辑器窗口如图1-9所示。在编辑器中可以输入、编辑和调试MATLAB代码。代码用不同的颜色区分关键字、注释、可执行代码等内容。如关键字为兰色、注释信息为绿色,可执行代码用黑色表示。编辑器中第一列为行号,第二列标示代码块。单击可执行代码行前面的行号,可以设置断点。编辑器内容的调试,主要通过图1-5所示的“编辑器”功能区进行。
注意,编辑器窗口只有在新建脚本或打开脚本进行编辑时才会显示。
图1-9 编辑器窗口
在MATLAB中编程
使用命令窗口,可以以命令行的方式输入和执行MATLAB语句。在提示符“>>”后面可以输入语句。
例如,下面创建一个33的矩阵A:
>> A=[1 2 3; 4 5 6; 7 8 9]
在键盘上单击Enter键回车,MATLAB返回矩阵A的值:
A =
1 2 3
4 5 6
7 8 9
运行函数时,输入函数名称和参数,然后按Enter键回车。例如,在命令行中输入:
>> magic(2)
MATLAB返回
ans =
1 3
4 2
在语句末尾添加分号(;),可以防止输出结果显示到屏幕上。在创建大矩阵时,这个技巧很有用。例如:
>> A = magic(100);
在操作系统命令前添加“!”,可以在不退出MATLAB的情况下调用工具或其他可执行程序。例如:
>> !dir
可以调用DOS系统的dir命令。如果希望外部程序完成任务或退出以后返回MATLAB,则在命令行末尾添加“&”字符,例如:
>> !dir &
命令窗口中有一些常用的功能键,利用它们可以使操作更简便、快捷。常用的功能键如表1-2所示。
表1-2 命令窗口常用功能键
| 功 能 键 | 功 能 | 功 能 键 | 功 能 |
|---|---|---|---|
| ↑,Ctrl+P | 重新调入上一命令行 | Home,Ctrl+A | 光标移到行首 |
| ↓,Ctrl+N | 重新调入下一命令行 | End,Ctrl+E | 光标移到行尾 |
| ←,Ctrl+B | 光标左移一个字符 | Esc | 清除命令行 |
| →,Ctrl+F | 光标右移一个字符 | Del,Ctrl+D | 删除光标处字符 |
| Ctrl+← | 光标左移一个字 | Backspace | 删除光标左边字符 |
| Ctrl+→ | 光标右移一个字 | Ctrl+K | 删除至行尾 |