如何在 MATLAB 中找到矩阵中的特定元素?

How can I find specific elements in a matrix in MATLAB?

提问人:user414981 提问时间:8/11/2010 最后编辑:HebeleHododouser414981 更新时间:3/22/2013 访问量:312

问:

我有一个数据集文件,里面有 3 列。

0 0 1
1 0 0
0 1 0

我已将数据文件加载到 MATLAB 中,现在我想检查输出“1”所在的列。

文件名为:out.data

在第一行中,“1”位于第 3 列中。如何在matlab中编写它?

MATLAB的

评论

0赞 Mikhail Poda 8/11/2010
为什么不咨询 MATLAB 帮助?它写得很好,有很多例子!

答:

0赞 ysap 8/11/2010 #1

这没有实际检查它(现在没有可用的 matlab),但可能会起作用:

>> b = a';
>> rem(find(b(:) == 1),3) + 1
3赞 merv 8/11/2010 #2
output = [0 0 1 ; 1 0 0 ; 0 1 0];

[~,index] = max(output, [], 2)
index =
     3
     1
     2
1赞 Matt Mizumi 8/11/2010 #3

你也可以做

[junk,column_index] = max(data,[],2);

然后对应每行中具有 1 的第一列(假设数据表现良好)。column_index