Effacer les filtres
Effacer les filtres

How to find a row of a large matrix

2 vues (au cours des 30 derniers jours)
Pooya Zeg
Pooya Zeg le 2 Août 2020
Modifié(e) : Bruno Luong le 3 Août 2020
I have a 64 by 3 matrix in which each row is a combination of 1, 2, 3, and 4. I want to find row: 1 3 3, and I used the "find" command for this, but it didn't work. Any help would be appreciated!
M = 4;
N = 3;
[X{N:-1:1}] = ndgrid(1:M);
X = reshape(cat(N+1,X{:}),[],N)
find(X==[1 3 3])

Réponse acceptée

Bruno Luong
Bruno Luong le 2 Août 2020
Modifié(e) : Bruno Luong le 3 Août 2020
It seems you run old MATLAB version without auto-expansion capability.
This will work for any version:
row = find(ismember(X,[1 3 3],'rows'))
Check
X(row,:)
  1 commentaire
Pooya Zeg
Pooya Zeg le 3 Août 2020
Thanks! It worked.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Programming dans Help Center et File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by