如何在数组中找到一个数字的位置?

5256次浏览(过去30天)
Arnab朋友
Arnab朋友 2018年2月15日
回答: Ujjawal Barnwal2020年6月7日
如果我有一个向量,a =[7 8 8 2 5 6],我如何计算值8的位置?
我期望2和3或者(1,2)和(1,3)

0评论

请登录评论。

接受的答案

沃尔特·罗伯森
沃尔特·罗伯森 2018年2月15日
编辑:MathWorks支金宝app持团队 2020年2月27日
你可以使用 找到 函数返回与数组元素值对应的位置。例如 :
a = [7 8 8 2 5 6];
linearIndices =找到(= = 8)
linearIndices =
2 3
分别获取行索引和列索引 ,使用 :
[行,坳]=找到(= = 8)
行=
1
坳=
2 3
如果您只需要一次出现的位置,您可以使用语法" find(a==8,1) "。如果你特别想要第一次或最后一次出现,你也可以指定一个方向,例如" find(a==8,1, ' first ')。有关这些选项的更多信息,请参见 找到

0评论

请登录评论。

更多的答案(2)

Bhagyesh Shiyani
Bhagyesh Shiyani 2019年12月5日
如果我同时想要8个位置呢?

2的评论

Florian Reinbold
Florian Reinbold 2020年1月15日
嗨Bhagyesh
我的建议是:
[val, idx] = find(a==8);
这似乎是一个伟大的工作!:)
干杯
弗洛里安
沃尔特·罗伯森
沃尔特·罗伯森 2020年1月15日
这不会返回值和索引,而是返回行号和列号。

请登录评论。


Ujjawal Barnwal
Ujjawal Barnwal 2020年6月7日
a = [7 8 8 2 5 6];
位置=找到(= = 8)

0评论

请登录评论。

标签

社区寻宝

在MATLAB中心找到宝藏,并发现社区如何帮助你!

开始狩猎!