matlab在矩阵中给特定的位置序列赋值sub2ind
sub2ind 将下标转换为线性索引。
一、语法
linearInd = sub2ind(matrixSize, rowSub, colSub)
说明
sub2ind 为大小是 matrixSize 的矩阵返回与行和列下标 rowSub 和 colSub 等效的线性索引。matrixSize 输入是一个包含 2 个元素的向量,该向量以 [nRows, nCols] 形式指定矩阵中的行和列数。rowSub 和 colSub 输入是正整数标量或向量,指定矩阵的一个或多个行-列下标对组。
二、示例
>> A=rand(5)
A =0.6850 0.0867 0.2290 0.1006 0.40530.5979 0.7719 0.6419 0.2941 0.10480.7894 0.2057 0.4845 0.2374 0.11230.3677 0.3883 0.1518 0.5309 0.78440.2060 0.5518 0.7819 0.0915 0.2916>> b=sub2ind(size(A),[1 2 3],[2 3 4])
b =6 12 18>> v=A(sub2ind(size(A),[1 2 3],[2 3 4]))
v =0.0867 0.6419 0.2374
注: ind2sub 和sub2ind 这对函数,是互逆的一对函数。ind2sub 把数组或者矩阵的线性索引转化为相应的下标;sub2ind 则正好相反,将下标转化为线性索引。
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
