讲义
2. MATLAB 初步
2.1 命令的执行与显示
在Windows中,用鼠标双击MATLAB图标即可启动MATLAB for Windows。MATLAB的命令提示符为“>>”。MATLAB的命令也称语句或函数,在本文中名词“命令”“语句”及“函数”在许多情况下并没有多大差别。
在命令行中,键入命令并按回车(Enter)就可以执行命令。执行结果或其它与命令执行相关的信息将随后显示在屏幕上。例如 >>why
Stupid question.
这里,“>>”是命令行提示符,“why”是命令,“Stupid question.”是执行结果。在MATLAB中,命令why的功能是向屏幕输出一个随机字符串。 又比如
11 讲义
>>y=log(0)
Warning: Log of zero y =
-Inf
语句y=log(0)的意思是对0求自然对数,函数log的返回值被赋给变量y。MATLAB在运行时除给出了运算结果为负无穷大(-Inf)外,还显示出了对零求对数的告警。
在命令的末尾加上分号“;”,表示不显示函数的返回值或语句的运算结果。例如 >>y=log(0);
Warning: Log of zero
只显示告警信息而不显示运行结果。此时y仍然被赋值为-Inf。
一行中可以有多条命令,命令与命令之间应用逗号“,”或分号“;”隔开。以逗号结尾的命令显示结果,以分号结尾的命令不显示结果。例如
12 讲义
>>y=log(0);b=1/0,a=atan(b)*180/pi;a Warning: Log of zero Warning: Divide by zero b = Inf a = 90
这里,“y=log(0);”只显示告警信息而不显示运行结果。“b=1/0,”既显示告警信息(被零除:Divide by zero),也显示运行结果(无穷大:Inf)。语句“a=atan(b)*180/pi;”被运行但结果未显示。在MATLAB中atan是反正切函数,pi是圆周率。语句“a”的作用是显示a的值:a?9。 0?如果语句有运算结果但此结果未被赋值,那么MATLAB自动将此结果赋值给变量“ans”,它是英语单词answer的前三个字母。例如: >>0.5*erfc(sqrt(4.77)) ans =
0.0010
erfc?此处,MATLAB把12?的运算结果赋值给
ans。erfc是互补误差函数,sqrt是求平方根。
47.7
13 讲义
有些命令除了在命令行状态下有显示外,还会激活其它图形窗口。如命令intro 、demo等。intro是MATLAB简介,demo是MATLAB的演示程序。这两个命令都是用MATLAB编写而成的。
在MATLAB中标识符的大小写是有区别的。
2.2 矩阵、矢量与标量 2.2.1 矩阵
MATLAB的基本运算对象是矩阵。方括弧“[]”用来定义矩阵。逗号“,”或空格用来分隔一行中的不同元素,分号“;”用来分隔不同的行。例如
>>a=[1,2,3;4,5,6;7,8,9] a =
1 2 3 4 5 6 7 8 9 是一个3乘3的矩阵。
14 讲义
2.2.2 矢量
只有一行或一列的矩阵就是矢量,我们分别称其为行矢量及列矢量。例如 >>b=[1,4,8,2]
b =1 4 8 2 是一个行矢量。而 >>c=[1;4;8;2] c = 1 4 8 2
是一个列矢量。
考虑到本课的具体需要,今后我们主要只考虑行矢量。 2.2.3 标量
只有一个元素的矢量或矩阵就是标量。例如d=[1]或d=1把d定义为一个值为1标量。 2.2.4 数据类型 实数
15