MATLAB:在数组旁边打印索引

Posted

技术标签:

【中文标题】MATLAB:在数组旁边打印索引【英文标题】:MATLAB: Print the indexes alongside an array 【发布时间】:2018-10-09 10:35:04 【问题描述】:

我是使用 MATLAB 的新手,我有一个大小为 [131 x 4] 的数组。我正在寻找在第 2 列中包含最高和最低值的行。(我的第一列用于标记,接下来的三列用作坐标)

我希望能够提取第 2 列中包含最高和最低值的行,例如,如果我知道它的索引是 5,我会使用:

LARGESTX = MYARRAY(5,:)

MATLAB 网站提供了有关如何使用索引来选择数组的特定元素的说明,但是由于我的数组太大,我无法看到最大/最小值的索引。

有没有一种方法可以在我的数组旁边打印每一行的索引?或者创建一个新数组,每行都附加索引?

【问题讨论】:

问题的措辞不同,因为您已经按照自己的方式(通过显示)解决问题,但问题的根源是 Index of max and min value in an array 的重复。 【参考方案1】:

您可以使用minmax 的第二个输出来简单地获取索引,无需“关注”正确的行来显示整个矩阵!

[~,minIdx] = min( myarray(:,2) ); % minIdx is the row in column 2 with the min value
[~,maxIdx] = max( myarray(:,2) ); % maxIdx is the row in column 2 with the max value

然后你可以按照你的建议索引

smallestRow = myarray( minIdx, : );
largestRow = myarray( maxIdx, : );

请注意,我使用波浪号 (~) 代替了 minmax 的第一个输出的变量,因为我对这些输出不感兴趣。波浪号会导致第一个输出被丢弃。


除此之外,执行您实际要求的操作(显示带有行号的数组)的最简单方法是查看工作区中的数组。这将为您提供一个包含行号和列号的表格。

【讨论】:

以上是关于MATLAB:在数组旁边打印索引的主要内容,如果未能解决你的问题,请参考以下文章

以数组大小 20 打印随机数并以索引号打印数字

ngFor - 按索引打印数组项

如何打印数组索引2-5

返回的数组打印数组索引而不是值

如何在打印语句中的变量旁边添加逗号和句点

C#打印字符串数组列表