【问题标题】:how to find a row value of the row index matlab?如何找到行索引matlab的行值?
【发布时间】:2014-07-02 08:21:47
【问题描述】:

我有一个矩阵 A,在那里我找到了最小值的行索引:

  [val, ind] = min (S)

如何获取该行在第 1 列的值?

我在文本文件 A 中使用的数据:

dat    Y         S
100    0.86     105
 ...
20     0.4     145

我找到 S 列的最小值。索引行'ind'并需要返回correpsong行的'dat'列值。

例如S(min) = 105, [ind]=1, 我需要返回 dat = 100。

对不起,基本问题。

谢谢

【问题讨论】:

  • 使用out = dat(ind)?
  • 太棒了!那行得通。非常感谢!
  • @Divakar。我阅读了有关索引的帮助,但仍不清楚。如何在“rowindex==ind”处获取该行的所有列?如果我需要使用列值:例如减去并除以某个数字?非常感谢!我需要像'out = dat/3, Y/3, S/3'这样的东西,这样我就可以处理列值(这里除以3)。
  • 也许您可以将其作为一个单独的问题发布,因为它听起来完全不同?

标签: matlab indexing row


【解决方案1】:

我假设您已将文本文件读入变量A

[val, ind] = min(A(:,3))

ind 现在是您的行号。

那你就做吧

A(ind,1)

【讨论】:

  • 感谢您的提示。但是,我得到一个错误。索引超出矩阵尺寸。可能是什么原因?
  • 检查I,J 的大小是否与S 相同。 ind2sub 只是将您的索引转换为下标。
  • @mil 为避免混淆,为什么不在您的问题中使用示例输入输出组合。
  • @kkuilla 非常感谢。这很有帮助。但是,S(ind,1) 给了我 'val' 哪个 '105' 而不是 'dat' 应该是 100。我应该改变什么?
  • 应该是A(ind,1)。我的错。道歉。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-08
  • 2021-11-19
  • 2023-04-03
  • 1970-01-01
  • 1970-01-01
  • 2019-10-27
相关资源
最近更新 更多