例3 —返回更少的输出的影响
当调用ind2sub一个N维的矩阵,你通常会提供N个输出参数,在调用的每个维度的矩阵之一。这个例子显示会发生什么,当你返回三个,两个,和一个输出时调用ind2sub 3维矩阵。
该矩阵是2 - 2 - -2及线性索引是1至8:
dims = [2 2 2];
indices = [1 2 3 4 5 6 7 8];
该3个输出调用ind2sub返回预期的下标为2 - 2 - -2矩阵:
[rowsub colsub pagsub] = ind2sub(dims, indices)
rowsub =
1 2 1 2 1 2 1 2
colsub =
1 1 2 2 1 1 2 2
pagsub =
1 1 1 1 2 2 2 2
如果你指定只有两个输出(行和列),ind2sub still returns a subscript for each specified index, 仍然返回一个下标为每个指定的索引,但下降的第三个维度的矩阵,返回下标为2维,2×4的矩阵,而不是:
[rowsub colsub] = ind2sub(dims, indices)
rowsub =
1 2 1 2 1 2 1 2
colsub =
1 1 2 2 3 3 4 4
如果你指定一个输出(行),ind2sub下降同时从矩阵的第二个和第三个的维度,并返回一维,1由8矩阵,而不是下标:
[rowsub] = ind2sub(dims, indices)
rowsub =
1 2 3 4 5 6 7 8