1.2 数学运算
MATLAB算术运算符“+”“−”“*”“/”“\”“^”“sqrt()”等,分别实现符号矩阵加、减、乘、右除、左除、求幂及开平方等运算,运算符 “.*”“./”“.\”“.^”分别实现符号数组元素与元素的运算。
在MATLAB中有几个常用的固定变量,它们代表着特殊的数值或意义。这样的变量有pi代表圆周率3.141 592 653…,i或j代表复数单位sqrt(−1),inf代表无穷大1/0,NaN代表不定值0/0、0*∞、∞/∞等。
1.2.1 基础运算
【例1-2】① 计算120+60/5。在命令行窗口输入:
>>x=120+60/5
按Enter键,输出为:
x = 132
② 计算54,并将其结果开平方。在命令行窗口输入:
>>5^4
按Enter键,输出为:
ans = 625
在命令行窗口输入:
>>sqrt(ans)
按Enter键,输出为:
ans = 25
③ 求sin(p/3)与i2。在命令行窗口输入:
>>sin(pi/3)
按Enter键,输出为:
ans = 0.8660
在命令行窗口输入:
>>I^2
按Enter键,输出为:
ans = -1
④ 求。在命令行窗口输入:
>>sqrt(1+2*3^4)*sin(pi/4)
按Enter键,输出为:
ans = 9.0277
⑤ 求当x=1时多项式x3+11x2+55x+125的值。在命令行窗口输入:
>>p=[1 11 55 125];
x=1; polyval(p,x)
按Enter键,输出为:
ans = 192
1.2.2 数组及运算
(1)创建数组
【例1-3】在命令行窗口输入:
>>clear all
A=[]
B=[6 3 4 3 2 1]
C=[6,3,4,3,2,1] %与B相同
D=[6;3;4;3; 2;1] %将B转置 E=B’ %将B转置
按Enter键,输出为:
A =
[]
B =
6 3 4 3 2 1
C =
6 3 4 3 2 1
D =
6
3
4
3
2
1
E =
6
3
4
3
2 1
由此可见,创建一维数组就是将整个数组放在方括号里,行数组(row vector)元素用空格或逗号分隔,列数组(column vector)元素用分号分隔,标点符号一定要在英文状态下输入。
(2)访问数组
【例1-4】在命令行窗口输入:
>>clear all
B=[6 3 4 3 2 1];
b1=B(1) %访问数组第1个元素
b2=B(1:3) %访问数组第1、第2、第3个元素
b3=B(3:end) %访问数组第3个到最后一个元素 b4=B([1 6]) %访问数组第1及第6个元素
按Enter键,输出为:
b1 =
6
b2 =
6 3 4
b3 =
4 3 2 1
b4 = 6 1
(3)用linspace函数创建一维数组
调用格式:x=linspace(a,b,n)
说明:创建行向量x,第1个元素为a,最后1个元素为b,形成总数为n个的等比数列。
【例1-5】在命令行窗口输入:
>>clear all
format short %数据显示格式为短格式(默认显示格式)
A= linspace(1,24,12) B= linspace(1,24,2)
按Enter键,输出为:
A =
1至8列
1.0000 3.0909 5.1818 7.2727 9.3636 11.4545 13.5455 15.6364
9至12列
17.7273 19.8182 21.9091 24.0000
B = 1 24
需要说明的是,在编辑代码的时候使用分号是为了不显示中间结果。若没有使用分号,则每一次运算的结果都会输出到命令行窗口。
(4)数组的算术运算
两个一维数组之间运算要求两个数组均为行数组(或均为列数组),并且数组元素个数相同。
【例1-6】数组加减法(+,−)。在命令行窗口输入:
>>clear all
A=[1 7 6 8 7 6];
B=[9 75 6 7 4 0];
C=[1 1 1 1 1 1];
D=A+B;
E=A-B; F=A-C;
按Enter键,输出为:
D =
10 82 12 15 11 6
E =
-8 -68 0 1 3 6
F = 0 6 5 7 6 5
【例1-7】数组乘法(.*)。在命令行窗口输入:
>>clear all
A=[1 7 6 8 7 6]
B=[9 7 6 7 4 0]
C=A.*B %数组点乘
D=A.*3 %数组与常数相乘 E=A*3 %数组与常数相乘
按Enter键,输出为:
A =
1 7 6 8 7 6
B =
9 7 6 7 4 0
C =
9 49 36 56 28 0
D =
3 21 18 24 21 18
E= 3 21 18 24 21 18
【例1-8】数组除法(右除./与左除.\)。在命令行窗口输入:
>>clear all
A=[1 5 7 8 9 7]
B=[7 5 7 2 4 0]
C=A./B %数组与数组右除
D= A.\B %数组与数组左除
E=A./3 %数组与常数的除法 F=A/3 %数组与常数的除法
按Enter键,输出为:
A =
1 5 7 8 9 7
B =
7 5 7 2 4 0
C =
0.1429 1.0000 1.0000 4.0000 2.2500 Inf
D =
7.0000 1.0000 1.0000 0.2500 0.4444 0
E =
0.3333 1.6667 2.3333 2.6667 3.0000 2.3333
F = 0.3333 1.6667 2.3333 2.6667 3.0000 2.3333
【例1-9】数组乘方(.^)。在命令行窗口输入:
>> clear all
A=[1 5 7 8 9 7]
B=[9 5 7 2 4 0]
C=A.^B %数组的乘方
D= A.^3 %数组A的三次方 E=3.^ A %常数3的数组的乘方
按Enter键,输出为:
A =
1 5 7 8 9 7
B =
9 5 7 2 4 0
C =
1 3125 823543 64 6561 1
D =
1 125 343 512 729 343
E = 3 243 2187 6561 19683 2187
需要注意的是,在数组乘除和乘方运算时,小黑点不能遗漏,且为英文状态下输入。