How to save specified data from a matrix?
5 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
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 Commenti
Risposta accettata
Walter Roberson
il 27 Ago 2012
Your line
ind=find(m(:,2:5)< 0.2)
is not correct. You need
ind=find(all(m(:,2:5)< 0.2,2))
8 Commenti
Più risposte (1)
Babak
il 27 Ago 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
Vedere anche
Categorie
Scopri di più su Matrix Indexing in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!