我是靠谱客的博主 魁梧小蘑菇,最近开发中收集的这篇文章主要介绍ind2sub函数,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

最近碰到这个函数的用法,随手记一下
[I,J] = ind2sub(siz,IND) returns the matrices I and J containing the equivalent row and column subscripts corresponding to each linear index in the matrix IND for a matrix of size siz. siz is a vector with ndim(A) elements (in this case, 2), where siz(1) is the number of rows and siz(2) is the number of columns.
matlab帮助文件里面是这样的描述,该函数就是得到矩阵中元素的行和列的下标值。在矩阵中默认的元素索引是按照列排序,例如:

siz = 
        1    2    3
        4    5    6
        7    8    9

定义一个3行3列的矩阵,默认的siz(3) = 7。
回到我们的函数中,siz实际上是个一维数组,其中的元素分别表示要求的矩阵的各个维度的数目,第一个元素表示矩阵的行数,第二个元素表示矩阵的列数,依此类推…
而IND则包含我们要找的元素的索引值,返回的矩阵分别表示不同维度的下标值,第一个矩阵表示这些索引值在第一维的下标,第二个矩阵表示索引值在第二维的下标,依此类推…
下面还是以具体例子来讲解吧

这里写图片描述

上图中可以看到左边表示的是一个3*3矩阵中索引值,是按照列排列的,右边则是行和列的下标值。我们定义s = [3, 3],表示我们要求的是一个3行3列的矩阵。IND = [3 4 5 6],表示要求的索引值有3,4,5,6,那么函数的运行结果为:

IND = [3 4 5 6]
s = [3,3];
[I,J] = ind2sub(s,IND)
I =
     3     1     2     3
J =
     1     2     2     2

对照着上面的图可以看到,这些索引值的下标值为(3,1),(1,2),(2,2),(.3,2)。
一般s矩阵包含的元素数目即表示我们要求的矩阵的维度,而返回的矩阵数目则应与该维度相等。

最后

以上就是魁梧小蘑菇为你收集整理的ind2sub函数的全部内容,希望文章能够帮你解决ind2sub函数所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(40)

评论列表共有 0 条评论

立即
投稿
返回
顶部