第九章 数学实验(MATLAB)
MATLAB是现今非常流行的一个科学与工程计算软件,它功能十分强大,能处理一般科学计算及自动控制、信号处理、神经网络、图像处理等多种工程问题。对于高等数学中遇到的很多问题,都可使用该软件进行求解。MATLAB中使用的命令格式与数学中的符号、公式非常相似,因而使用方便,易于掌握。下面将介绍一下MATLAB软件的基本操作。
第一节 MATLAB软件基本操作
一 MATLAB的工作界面(Desktop)
MATLAB安装成功后,第一次启动时,主界面如下图(不同版本可能有差异)所示:
图9—1 MATLAB7.0版的默认界面
1、菜单栏
MATLAB操作界面菜单栏提供了“File(文件)”、“Edit(编辑)”、“Debug(调试)”、“Desktop(桌面)” 、“Window(窗口)”和“Help(帮助)”菜单。(见图9—1) 2、 工具栏
MATLAB操作界面工具栏提供了“New M-File(新建M文件)”、“open(打开)”、“cut(剪切)”、“copy(复制)”、“paste(粘贴)” 、“undo(撤销)”、“redo(恢复)”、“simulink(仿真)”和“Help(帮助)”等工具按钮。 3、 操作界面窗口
(1)、Command Window (命令窗口) 命令输入和计算机执行后的结果输出(包括程序执行后的结果)都在Command Window(命令窗口)表现,可输入的对象可以是MATLAB命令、函数、表达式、语句、M文件、MEX文件等。但不能显示图形。
命令行的显示方式为:命令窗口中的每个命令行前会出现提示符“>>”;命令窗口内显示的字符和数值采用不同的颜色;
例1 在命令窗口中输入不同的数值和语句,并查看其显示方式(图9—2)。
输入命令: >> a=12.5 显示结果: a =
12.5000 输入命令:
>> b='Hello' 显示结果: b =
Hello 输入命令:
>> if a>0 c=5 ,end 显示结果:
c =5
对于命令窗口中的标点符号如下: 名称 空格 逗号 点号 分号 冒号 百分号 单引号 圆括号 方括号 下划线 续行号 符号 , . ; : % ? ? ( ) [ ] - ? 功能 用于输入变量之间的分隔符以及数组行元素之间的分隔符。 用于要显示计算结果的命令之间的分隔符;用于输入变量之间的分隔符;用于数组行元素之间的分隔符。 用于数值中的小数点。 用于不显示计算结果命令行的结尾;用于不显示计算结果命令之间的分隔符;用于数组元素行之间的分隔符。 用于生成一维数值数组,表示一维数组的全部元素或多维数组的某一维的全部元素。 用于注释的前面,在它后面的命令不需要执行。在M文件中,百分号后面的语句可以用Help命令打印出来。 用于括住字符串。 用于引用数组元素;用于函数输入变量列表;用于确定算术运算的先后次序。 用于构成向量;用于函数输出列表。 用于一个变量、函数或文件名中的连字符。 用于把后面的行与该行连接以构成一个较长的命令。 表9—1 MATLAB常用标点符号的功能 注意:以上的符号一定要在英文状态下输入,因为MATLAB不能识别中文标点符号。 例2 在命令窗口中使用不同的标点符号。 输入命令:
>> a=12.5,b='Hello' %逗号显示计算结果的分隔符;单引号构成字符串,点号为小数点 显示结果: a =
12.5000 b =
Hello 输入命令:
>> d=a*… %...表示续行,在..后按下enter键,不执行计算结果,光标换行 pi^3 显示结果: d =
387.5785
在MATLAB中数值计算结果的显示格式及设置,数值计算的默认类型格式是双精度类型 (double),但是数据的显示格式可以设置为不同的格式;显示格式设置:选择菜单“File”→“ Preferences”,则会出现参数设置对话框;
命令格式 format format short(默认) format short e format short g format long format long e format long g format rat format hex format + format bank format compact format loose 含义 例子 直接在命令窗口中输入 “format” 命令来进行数值显示格式的设置。 通常保证小数点后四位有效;大于314.159显示为314.1590 1000的实数,用5位有效数字的科学3141.59显示为3.1416e+003 计数法显示 5位科学计数法表示 从format short和format short e中自动选择最佳计数方式 15位数字表示 15位科学计数法表示 从format long和format long e中自动选择最佳计数方式 近似有理数表示 十六进制表示 表示(金融)元、角、分 在显示结果之间有空行的稀疏格式 π显示为3.1416e+000 π显示为3.1416 π显示为3.14159265358979 π显示为3.1415926535e+000 π显示为3.1415926358979 π显示为355/113 π显示为400921fb54442dl8 π显示为3.14 正数、负数、零分别用+、-、空格 π显示为+ 在显示结果之间没有空行的压缩格式 表9—2 数据显示的Format格式
注意:
1).Matlab严格区分大小写;
2).如果对已定义的变量名重新赋值,则变量名原来的内容被覆盖;
3).Matlab 不需要专门定义变量的类型,系统可以自动根据表达式的值或输入的值来确定变量的数据类型。
(2). Command History (历史命令窗口)
历史命令窗口(History Command Window)用来存放曾在命令窗口中使用过的语句。目的是便于用户追溯、查找曾经用过的语句。 应用功能 单行或多行命令的复制(Copy) 操作方法 选中单行或多行命令,按鼠标右键出现快捷菜单,再选择“Copy”菜单,就可以把它复制。 单行或多行命令选中单行或多行命令,按鼠标右键出现快捷菜单,再选择“Evaluate 的运行 (Evaluate Selection”菜单,就可在命令窗口中运行,并得出相应结果。 Selection) 或者双击选择的命令行也可运行。 把多行命令写成选中单行或多行命令,按鼠标右键出现快捷菜单,选择“Create M-File”M文件(Create 菜单,就可以打开写有这些命令的M文件编辑/调试器窗口。 M-File) 表9—3历史指令窗口主要功能的操作方法
(3). Current Directory (当前目录窗口)
该窗口可组织、管理和使用所有MATLAB文件和非MATLAB文件。如果是通过单击Windows桌面上的MATLAB图标启动,则启动后的默认当前目录是“matlab/work”;如果MATLAB的启动是由单击“matlab/bin/win32”目录下的
当前目录设置“matlab.exe”,默认当前目录是
“matlab/bin/win32”。把用户目录设置成当前目录的方法有两种:第一、
文件详细列表 在当前目录设置区设置。在上图中或
MATLAB界面工具栏的右边都有当前目录设置区,可以在“设置栏”中直接填写待设置的目录名;第二、选
M或MAT择file菜单下的set path命令修改。
文件描述
图9—4 当前目录窗口
(4). Workspace (工作空间窗口)
显示所有目前内存中的Matlab变量、数学结构、类型以及所占的空间,并可以直接进行变量的编辑。工作空间浏览器窗口用于显示所有MATLAB工作空间中的变量名、数据结构、类型、大小和字节数。可以对变量进行观察、编辑、提取和保存。
图9—5 工作空间窗口
4. M文件编辑/调试器 (Editor/Debugger) 启动M文件编辑/调试器窗口的方法:单击MATLAB界面上的
图标,或者单击菜单“File”
→“New”→“M-file”,可打开空白的M文件编
图9—6 M文件编辑/调试器窗口
辑器。单击MATLAB界面上的图标,或者单击菜单“File”→“Open”,在打开的“Open”
对话框中填写所选文件名,单击“打开”按钮,就可出现相应的M文件编辑器。
用鼠标双击当前目录窗口中的M文件(扩展名为.m),可直接打开相应文件的M文件编辑器。 图9-6显示打开了一个“Ex0101.m”文件的M文件编辑/调试器窗口:
5. MATLAB 帮助(help)
MATLAB的帮助方式有很多种,用户可以通过快捷方便的帮助系统来迅速掌握MATLAB的强大功能。帮助导航/浏览器窗口,点击工具栏中的help按钮,就会出现帮助导航/浏览器窗口,如图9—7所示。 上图的帮助导航/浏览器窗口界面由左侧的Help Navigator(帮助导航器)和右侧的Help Browser(帮助浏览器)两部分组成。
图9—7 帮助导航/浏览器窗口
二 MATLAB变量与运算符 1. MATLAB的变量
Matlab 并不要求对所使用的变量进行事先声明,也不需要指定变量类型,Matlab 会自动根据所赋予变量的值或对变量所进行的操作来确定变量的类型。在赋值过程中,如果变量已经存在,Matlab 会用新值代替旧值,并以新的变量类型代替旧的变量类型。 变量命名规则需要注意以下几点: (1) 变量名是对字母大小写敏感的。
如:变量myvar和MyVar是不同变量。sin是MATLAB定义的正弦名,但SIN、Sin等都不是。 (2) 变量名的第一个字母必须是英文字母,最多可包含31个字符,英文、数字和下划线。 如:myvar201合法。
(3) 变量名中不得含空格、标点,但可以有下连符号。 如:变量名my_var_201合法的,且读起来更方便。 而my,var201不合法。 2. MATLAB的运算符 (1).算术运算符
MATLAB的算术运算符见下表: 运算符 + - * 意义 加法运算 减法运算 乘法运算