在数学上,定义由 m × n m \times n m×n个数 a i j ( i = 1 , 2 , . . , m ; j = 1 , 2 , . . , n ) a_{ij}(i=1,2,..,m;\ j=1,2,..,n) aij(i=1,2,..,m; j=1,2,..,n)排成的 m m m行 n n n列的数表
A
=
[
a
11
a
12
.
.
.
a
1
n
a
21
a
22
.
.
.
a
2
n
⋮
⋮
⋮
a
m
1
a
m
2
.
.
.
a
m
n
]
A=\left[
为
m
m
m行
n
n
n列矩阵
数组是在程序设计中,为了处理方便,把具有相同类型的若干变量按有序的形式组织起来的一种形式,这些按序排列的同类数据元素的集合称为数组
在
M
A
T
L
A
B
MATLAB
MATLAB中,一个数组可以分解为多个数组元素,这些数组元素可以是基本数据类型或构造类型,因此按数组元素的类型的不同,数组又分为数值数组、字符数据、单元数组、结构数组等各种类别
区别:
(1)矩阵是数学概念,数组是程序设计概念
(2)矩阵运算有明确严格的数学规则,而数组运算是MATLAB软件定义的规则,其目的是为了使数据管理方便
联系:
在MATLAB中,矩阵以数组的形式存在,因此一维数组相当于向量,二维数组相当于矩阵
所以可以将矩阵视作数组的子集
采用矩阵构造符号——方括号“[]”,将矩阵元素置于方括号内
同行元素之间以空格或逗号隔开
行与行之间用分号“;”隔开



简单示例:

(1)当m=1或n=1,建立的矩阵称为向量
(2)在MATLAB中,标量都是以矩阵的形式存储的,所以标量有两种表示方法
A=[1]或者A=1
(3)当m=0或n=0时,创建的矩阵称为空矩阵,空矩阵中没有任何元素,因此不占用任何存储空间
0矩阵只是所有元素都为0,依然占用存储空间


A表示一个矩阵,dim指定翻转方式。
dim为1,表示每一列进行逆序排列;
dim为2,表示每一行进行逆序排列。




当k为负值时,左移k次也就是右移-k次
假设k=1,A的维度为[1,2,3],移动后的维度就是[2,3,1]


在 M A T L A B MATLAB MATLAB中,普通二维数组元素的数字索引分为双下标索引和单下标索引
双下标索引:A(2,3)表示矩阵A中第2行第3列的元素
单下标索引:采用列优先,对于4*4的矩阵,A(7)表示矩阵A中第3行第2列的元素

勘误:





稀疏矩阵是一种不同于一般矩阵的结构



在下方的例子中,类型依然保持了一致

M A T L A B MATLAB MATLAB中依照列优先排列的原则将元素依次放在相应的各格子里,可以通过上述的 s u b 2 i n d ( ) sub2ind() sub2ind()函数将双下标转换为单下标
1.下标寻址


2.线性寻址(注意是列优先)

1.扩展

2.删除
