>> arr = [1,2,3;4,5,6];
>> arr(4, 5) = 10
arr =
1 2 3 0 0
4 5 6 0 0
0 0 0 0 0
0 0 0 0 10
>>
?如果引用元素超过矩阵的大小将自动扩充矩阵
MATLAB中矩阵按照列从上往下的存储顺序,所以
A(1)是1
A(2)是4
A(3)是2
A(4)是5
A(5)是3
A(6)是6
序号与下标实际上是一一对应的:
以m x n矩阵A为例,矩阵元素A(i, j)的序号为(j - 1) x m + i
注:m x n 表示 m 行 n 列矩阵
函数名 | 用法 |
sub2ind() | 将行列下标转换成存储序号
|
ind2sub() | 将存储序号转换成行列下标 [I, J] = ind2sub(S, D)
|
size() | 获取矩阵的行列数构成的向量 >> size(A) ans = ? ? ?2 ? ? 3 注:A为一个两行三列构成的矩阵 |
>> clear
>> A = [1:3;4:6]
A =
1 2 3
4 5 6
>> D = sub2ind(size(A), [1,2;2,2],[1,1;3,2])
D =
1 2
6 4
>>
将(1,1),(2,1),(2,3),(2,2)下标值转化为序号