可以用sub2ind将全下标转换为单下标,程序如下:
>> x=sub2ind(size(a),u,v)
x =
1
3
4
6
9
>> a(x)
ans =
0.9649
0.9706
0.9572
0.8003
0.9157
>>
x=A(m,n);
表示将矩阵A的第m行第n列的元素赋给变量x
matlab通过确认矩阵下标,可以对矩阵进行插入子块、提取子块和重排子块的操作。
a(m,n):提取第m行,第n列元素;
a(:,n):提取第n列元素;a(m,:):提取第m行元素;
a(m1:m2,n1:n2):提取第m1行到第m2行和第n1列到第n2列的所有元素(提取子块)。
比如:
>>
a=[1
2
3
4
;3
2
1
0]
a
=
1
2
3
4
3
2
1
0
>>
a(2
,3)
ans=
1
另外,还有以下函数也是常用的:
diag(x,k):抽取矩阵x的第k条对角线的元素向量;
tril(x,k)
或triu(x,k):提取矩阵x的第k条对角线下面或上面的部分。