Info
此问题已关闭。 请重新打开它进行编辑或回答。
Short question: Using the find command
1 次查看(过去 30 天)
显示 更早的评论
Hi
I have a matrix X with three columns, say column 1 stores attribute a, column 2 sotres attribute b, and column 3 stores attribute c. Attribute c is not unique (same value might appear in different lines). What I want to do is to create a matrix, such that for each specific value of c, it would show me in which lines of X it is to be find. Why can I not use the following line:
G = find(X(:,3) == unique(X(:,3)))
to do so? Thanks
0 个评论
回答(2 个)
Jan
2012-12-28
You cannot use
find(X(:,3) == unique(X(:,3))), % !!! wrong
because X(:,3) and unique(X(:, 3)) have a different number of elements in general. The result of
[1,2,3] == [1,2,3,4]
cannot be defined easily.
As Andrei has suggested already, the 2nd output of unique() will help you to solve the problem.
0 个评论
此问题已关闭。
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!