1、数组的代数运算
1.1、数组与标量的运算
数组的+、-、*、/、乘方运算
>> A=[1,2,3;4,5,6]
A =
1 2 3
4 5 6
>> A-2
ans =
-1 0 1
2 3 4
>> A*2
ans =
2 4 6
8 10 12
>> A/2
ans =
1/2 1 3/2
2 5/2 3
>> A^2
错误使用 ^
输入必须为标量和方阵。
要按元素进行 POWER 计算,请改用 POWER (.^)。
>> B=[1,2;3,4]
B =
1 2
3 4
>> B^2
ans =
7 10
15 22
>> B^(-1)
ans =
-2 1
3/2 -1/2
>> B^(0.2)
ans =
901/1073 + 2555/6959i 614/2397 - 679/4043i
307/799 - 230/913i 716/585 + 264/2291i
1.2、转置运算
数组A的转置用A’表示
>> A=[1,2,3;4,5,6]
A =
1 2 3
4 5 6
>> A'
ans =
1 4
2 5
3 6
1.3、数组的加减运算
当数组的维数完全相等的时候,可以进行加减运算
>> A=[1,2,3;4,5,6;7,8,9];
>> B=[1,2,3];
>> C=[4,5,6];
>> A+B
错误使用 +
矩阵维度必须一致。
>> B+C
ans =
5 7 9
1.4、数组的乘法运算
两个数组的行数等于列数才可进行乘法运算
>> A=[1,2,3];
>> B=[4;5;6];
>> A*B
ans =
32
1.5、数组的除法运算
除法运算包括左除“\”和右除“/”两种运算
左除:A\B表示A^(-1)B,A为方阵
右除:A/B表示AB^(-1),B为方阵
>> A=[1,2;3,4];B=[1,3,5;2,4,6];C=[1,1,3;2,4,6;7,8,9];
>> A\B
ans =
0 -2 -4
1/2 5/2 9/2
>> B/C
ans =
0 13/12 -1/6
0 1 0
1.6、数组的点运算
数组的点运算是两个数组之间的对应元素直接运算,这样就要求这两个数组的维数完全相同。
>> A=[1,2,3;4,5,6];B=[7,8,9;5,6,4];
>> C=A.*B
C =
7 16 27
20 30 24
>> D=A*B
>> D=A.+B
D=A.+B
↑
错误: MATLAB 运算符异常。%加法不可用
>> A.-B
A.-B
↑
错误: MATLAB 运算符异常。%减法不可用
>> A./B%除法可以用
ans =
1/7 1/4 1/3
4/5 5/6 3/2
>> A.\B
ans =
7 4 3
5/4 6/5 2/3
1.7、数组求幂运算
数组求幂运算包括数组与常数和数组与数组的幂运算,用点运算的形式表示。
>> A=[1,2;3,4];B=[2,2;1,2];
>> A1=A.^3,A2=3.^A,A3=A.^B%运算规律如下
A1 =
1 8
27 64
A2 =
3 9
27 81
A3 =
1 4
3 16
2、数组的块操作
可以对数组进行元素更改、插入子块、提取子块、重排子块、扩充子块等操作。
>> A=[1,2;3,4];B=[2,2;1,2];
>> A1=A.^3,A2=3.^A,A3=A.^B
A1 =
1 8
27 64
A2 =
3 9
27 81
A3 =
1 4
3 16
>> clear
>> A=[1,2,3;4,5,6];B=[7,8,9];
>> A(1,:)=B%将A阵的第一行用B数组替换
A =
7 8 9
4 5 6
>> A(:,:)=2%将A阵所有元素设置成2
A =
2 2 2
2 2 2
>> A(2,2)=15%将A阵的第二行第二列的元素设置成12
A =
2 2 2
2 15 2
>> A(4,5)=20%定义A阵的第4行第5列元素,MATLAB自动扩充A矩阵
A =
2 2 2 0 0
2 15 2 0 0
0 0 0 0 0
0 0 0 0 20
>> C=A(1:3,2:3)%提取A阵的第一行到第三行中第2、3列的所有元素
C =
2 2
15 2
0 0
3、数组的翻转操作
MATLAB提供了几种指令可以进行数组的翻转操作
>> A=[1,2,3,4;5,6,7,8;9,10,11,12;13,14,15,16]
A =
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
>> B=flipud(A)%上下翻转
B =
13 14 15 16
9 10 11 12
5 6 7 8
1 2 3 4
>> C=fliplr(A)%左右翻转
C =
4 3 2 1
8 7 6 5
12 11 10 9
16 15 14 13
>> rot90(A)%逆时针旋转90°
ans =
4 8 12 16
3 7 11 15
2 6 10 14
1 5 9 13
4、数组运算的常用数学函数
MATLAB中又许多不同类型的函数如下表