主要内容

次级

将下标转换为线性指标

描述

例子

Ind.= sub2ind(SZ.col返回线性指标Ind.对应于行和列下标col对于大小的矩阵SZ.。这里SZ.是矢量与两个元素,在哪里SZ(1)指定行数和SZ(2)指定列的数量。

例子

Ind.= sub2ind(SZ.I1,I2,......,在返回线性指标Ind.对应多维下标N阵列I1,I2,......,在对于多维数组的大小SZ.。这里SZ.是矢量与N指定每个数组维度的大小的元素。

例子

全部收缩

可以如下所示从下标(按位置索引)到3×3矩阵的线性索引的映射。

在3×3矩阵中指定行和列下标。将下标转换为线性指标。

行= [1 2 3 1];col = [2 2 2 3];sz = [3 3];IND = Sub2ind(SZ,Row,Col)
IND =1×4.4 5 6 7

可以如下所示,从下标到用于2×2×2阵列的线性指标的映射。

在2×2×2阵列中指定行,列和页面下标。将下标转换为线性指标。

I1 = [1 2 1 2];I2 = [2 2 1 1];i3 = [1 1 2 2];sz = [2 2 2];IND = sub2ind(sz,i1,i2,i3)
IND =1×4.3 4 5 6

将3-D阵列的下标索引转换为单个线性索引。

创建一个数组,并找到与(2,1,2)位置中的元素对应的线性索引。

a = rand(3,4,2);lineSind = sub2ind(尺寸(a),2,1,2)
linearind = 14.

检查两个索引版本是否有关同一元素。

a(2,1,2)
ans = 0.4854.
A(14)
ans = 0.4854.

输入参数

全部收缩

数组大小,指定为正整数的向量。该矢量的每个元素表示相应维度的大小。例如,[2 3 4]定义2×3×4阵列。

数据类型:单身的|双倍的|INT8.|int16|INT32.|INT64.|uint8.|uint16|UINT32.|UINT64

行下标,指定为标量,向量,矩阵或多维数组。的大小必须与大小相同col

数据类型:单身的|双倍的|INT8.|int16|INT32.|INT64.|uint8.|uint16|UINT32.|UINT64

列下标,指定为标量,向量,矩阵或多维数组。的大小col必须与大小相同

数据类型:单身的|双倍的|INT8.|int16|INT32.|INT64.|uint8.|uint16|UINT32.|UINT64

多维下标,指定为标量,向量,矩阵或多维数组。每个阵列I1,I2,......,在必须具有相同的大小。

数据类型:单身的|双倍的|INT8.|int16|INT32.|INT64.|uint8.|uint16|UINT32.|UINT64

输出参数

全部收缩

线性指标,指定为标量,矢量,矩阵或多维数组。的大小Ind.与输入的大小相同col, 要么I1,I2,......,在

数据类型:双倍的

算法

阵列一种, 如果IND = sub2ind(大小(a),i1,...,in), 然后a(ind(k))= a(i1(k),...,在(k)中)对全部K.

扩展能力

在R2006A之前介绍