MATLAB Answers

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 件のコメント

Stephen Cobeldick
2017 年 4 月 25 日

サインイン 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
回答者: Stephen Cobeldick
2017 年 4 月 25 日

  1 件のコメント

Andrei Bobrov
2017 年 4 月 25 日
+1

サインイン to comment.


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

Use ismember function

  0 件のコメント

サインイン to comment.



Translated by