Arrays 创建一个新矩阵,其值显示在两个单独的矩阵中
我是Matlab新手,因此这可能是一个非常琐碎的问题,我感谢那些花时间帮助我的人。我有一个618x2矩阵,在第一列中有值,然后是值的索引(本例中为图像上的圆圈)。比如说 46.9810,1 0,2 0,3 0,4 43.1429,5 0,6 0,7 该矩阵称为“Test2” 我有另一个矩阵,是1x58矩阵(称为重叠索引),该矩阵中的值对应于“Test2”矩阵中的索引 例如: 1, 3, 5, 7, 35, 37, 44, 49,.... 我需要一个新的矩阵(我们称之为new)来检查重叠索引中的值在“Test2”矩阵中是否具有非零相关值。例如,这个新矩阵将包括[43.1429,5],因为索引同时位于“Test2”和“overlappendex”中,并且“Test2”中的对应值为非零 所以本质上这个“新”矩阵看起来像 46.9810,1 43.1429,5 依此类推,直到检查所有索引并生成“新”矩阵 我只需要确保'OverlapseIndex'中的索引对应于'Test2'矩阵中的实际非零值Arrays 创建一个新矩阵,其值显示在两个单独的矩阵中,arrays,matlab,sorting,matrix,Arrays,Matlab,Sorting,Matrix,我是Matlab新手,因此这可能是一个非常琐碎的问题,我感谢那些花时间帮助我的人。我有一个618x2矩阵,在第一列中有值,然后是值的索引(本例中为图像上的圆圈)。比如说 46.9810,1 0,2 0,3 0,4 43.1429,5 0,6 0,7 该矩阵称为“Test2” 我有另一个矩阵,是1x58矩阵(称为重叠索引),该矩阵中的值对应于“Test2”矩阵中的索引 例如: 1, 3, 5, 7, 35, 37, 44, 49,.... 我需要一个新的矩阵(我们称之为new)来检查重叠索引中的
请帮助并提前感谢您 您的问题可以在Matlab中解决:
NEW = Test2(overlapindex(Test2(overlapindex, 1) ~= 0), :)
解释
Test2(重叠索引,1)
:应检查的行()
Test2(重叠索引,1)~=0
:如果条件为真,则检查每个请求的行
overlapindex(Test2(overlapindex,1)~=0)
:匹配行的索引()
请注意,只有当
overlapindex
仅包含Test2
的现有索引时,此解决方案才有效,但该解决方案可以轻松扩展以跳过不存在的索引。因此,您希望第一个矩阵中第一列非零,第二列显示在Test2
中?