MATLAB Answers

Translated by

このページのコンテンツは英語から自動翻訳されています。自動翻訳をオフにする場合は「<a class="turn_off_mt" href="#">ここ</a>」をクリックしてください。

0

location of element in matrix

jano satti さんによって質問されました 2017 年 4 月 25 日
最新アクティビティ Andrei Bobrov
さんによって 編集されました 2017 年 4 月 25 日
I have a matrix mat and I want to find location of x in mat matrix.location should be in order of x.
mat =[
1.0000 1.0000 1.0000 1.0000 1.0000 1.0000
0.0099 1.0000 1.0000 0.0120 1.0000 0.0115
0.0093 1.0000 1.0000 0.0120 1.0000 0.0070
1.0000 1.0000 1.0000 1.0000 1.0000 1.0000
0.0098 1.0000 1.0000 0.0089 1.0000 0.0093
1.0000 1.0000 1.0000 1.0000 1.0000 1.0000];
x =[
0.0089
0.0099
0.0070];
A =mat
C=x
numbersInA = unique(C)
numbersInC = unique(C)
for k = 1 : length(numbersInA)
[rowA colA] = find(A==numbersInC(k))
w(k,:)= [rowA , colA]
end
ans is [ 3 6]
[5 4]
[2 1]
but I need this solution::
[5 4]
[2 1]
[3 6]
Thanks in advance.

  1 件のコメント

サインイン to comment.

3 件の回答

Andrei Bobrov
回答者: Andrei Bobrov
2017 年 4 月 25 日
編集済み: Andrei Bobrov
2017 年 4 月 25 日
 採用された回答

[l0,ii] = ismembertol(mat(:),x);
[i0,j0] = ind2sub(size(mat),find(l0));
[~,i1] = sort(ii(l0));
out = [i0,j0];
out = out(i1,:);

  0 件のコメント

サインイン to comment.


Stephen Cobeldick

Azzi Abdelmalek
回答者: Azzi Abdelmalek
2017 年 4 月 25 日

Use ismember function

  0 件のコメント

サインイン to comment.



Translated by