Matlab filter columns of array based on value in row
25 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Nobutaka Kim
le 7 Fév 2022
Réponse apportée : Arif Hoq
le 7 Fév 2022
I have a 3 x 3000 array with x, y, z as the rows.
I want a new array from filtering the above if z == 3.
I tried
```
task3_xy = xy_arr(~ismember(xy_arr(3, :), [3]),:);
```
but it's telling me
The logical indices in position 1 contain a true value outside of
the array bounds.
How else can I do this?
0 commentaires
Réponse acceptée
Arif Hoq
le 7 Fév 2022
use 'find' function to look up the value which is equal to 3 in 'z'
x=randi(100,3,3000);
y=randi(80,3,3000);
z=randi(50,3,3000)
Idx_New_array=find(z==3) % index value of z whihc is equal to 0
if you want to find the row and column
[row col]=find(z==3)
is that your expectation or you want to replace the index value of z ?
0 commentaires
Plus de réponses (1)
Voir également
Catégories
En savoir plus sur Matrix Indexing dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!