# How to save specified data from a matrix?

1 Ansicht (letzte 30 Tage)
Lei am 27 Aug. 2012
hello, everyone.
I am wondering how can I delete specified data from a data matrix. For example, if I have a matix like this:
m=rand(100,5);
How can I save a matrix that satisfy this : for each row, each element is smaller than a specified number such as 0.200.
I know I can use indice, eg. ind=find(m(:,2:5)< 0.2)
but I can't save it by using m1=m(ind,:)
I guess the problem is the number of rows is changing when I use m1=m(ind,:).
does anyone know how can i achieve this?
Thanks.
##### 0 Kommentare-1 ältere Kommentare anzeigen-1 ältere Kommentare ausblenden

Melden Sie sich an, um zu kommentieren.

### Akzeptierte Antwort

Walter Roberson am 27 Aug. 2012
ind=find(m(:,2:5)< 0.2)
is not correct. You need
ind=find(all(m(:,2:5)< 0.2,2))
##### 8 Kommentare7 ältere Kommentare anzeigen7 ältere Kommentare ausblenden
Lei am 27 Aug. 2012
probaably ind=find(any(M(:,2:5)>54,2));

Melden Sie sich an, um zu kommentieren.

### Weitere Antworten (1)

Babak am 27 Aug. 2012
if your matrix m is 100 by 1, you can do this:
m(m<0.2)
gives you a new matrix that is smaller or equal size to the original matrix.
For a 100 by 5 m, I think you can write a for loop on the different columns of m,
a = m<.2;
for j=1:5
m(a(:,j)) % gives you the elemets of m(:,j) that are less than 0.2
end
##### 1 KommentarKeine anzeigenKeine ausblenden
Lei am 27 Aug. 2012
hello Babak, Thx for your help,I tried your code. but it seems does not work.

Melden Sie sich an, um zu kommentieren.

### Kategorien

Mehr zu Matrix Indexing finden Sie in Help Center und File Exchange

### Community Treasure Hunt

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

Start Hunting!