在数学上,一般把一维数组称为向量(Vector),二维数组称为矩阵(Matrix),三维及以上的数组称为张量(Tensor)或多维数组。
狭义上的“数组”简单理解为一行或者一列的数的集合,也可以理解为一行或者一列的矩阵。
广义上的“数组”即相同数据类型的元素的集合,数组中的各个元素存储是有先后顺序的,你可以用数组名称和元素在数组中的位置找到该元素,例如A[0]表示名字为A的数组中的第一个元素。
因为数组是有顺序的,所以一维的数组是向量,可以是列向量,也可以是行向量。
所有的矩阵都可以视为特殊的数组,一般默认顺序是从左边起的第一列第一个竖着数到最后一个(竖着为列,横着为行),然后接着是第二列第一个排到第二列最后一个……以此类推,排完所有的列,那么所有的数都有唯一的顺序排列。
1、MATLAB中用x=A[m,n]表示将A矩阵中的第m行第n列的数,赋值给变量x。
2、MATLAB中用a=A[m1:m2,n1:n2]表示将A矩阵中的第m1到第m2行,第n1列到第n2列的数,赋值给变量L,简单理解即提取出A矩阵中第m1到m2行,第n1列到n2列的元素集合a(一个小矩阵)。关键点:MATLAB中的冒号“:”可以理解为“到”的意思。
3、单独的冒号(没有起始值或结束值)指定该维中的所有元素。
例如,选择 A 第三行中的所有列:A[3, :];%即A第三行所有的元素。
选择 A 第二列中的所有行(即A的第二列),并赋值给L2:L2=A[:,2];
4、冒号运算符还允许使用较通用的格式 start:step:end 创建等距向量值,
B = Vector(0:10:100);%步长值为10
%B=[0 10 20 30 40 50 60 70 80 90]',(英文引号’,表示转置,所以B是列向量)
% 如果省略中间的步骤(如 start:end 中),会默认使用步长值为1
5、冒号运算符还可以进行矩阵的索引。例如:下面一个方阵a
a=[1 2;3 4]
%1 2
%3 4
%a[2:2]表示矩阵从第二个到第二个元素的所有元素:3;那么a[2:3]表示矩阵从第二个到第三个元素的所有元素:3和2。
(1)两个矩阵并到一起的操作:
A=[1 2 3];
B=[4 5 6];
C=[A B];
%C=[1 2 3 4 5 6]
(2)两个矩阵竖着合并到一起:
C=[A;B];
%
%2×3 Matrix{Float64}:
%1.0 2.0 3.0
% 4.0 5.0 6.0