Let say I have a matrix M with m x n dimensions. I want to threshold each column by different threshold. let say N contains the threshold for each column, therefore the dimension of N is n x 1 or 1 x n.
how can I do this by single command.

 Réponse acceptée

Junaid
Junaid le 8 Oct 2012

0 votes

One possible way is ..
lets us assume that N is 1 x n vector
N = repmat(N,size(M,1),1);
M_binary = M > N;
or
M_binary = M < N;

Plus de réponses (1)

Wayne King
Wayne King le 8 Oct 2012
Modifié(e) : Wayne King le 8 Oct 2012

0 votes

A = randn(5,3);
n = [0.5 0.8 0.2];
thresh = bsxfun(@gt,A,n);
B = A.*thresh;
B contains nonzero elements only where elements in A exceed the thresholds in the vector n.

2 commentaires

Aravin
Aravin le 8 Oct 2012
Thanks Wayne, but it is not giving me 0 1 matrix as after thresholding B should be binary ???
Wayne King
Wayne King le 8 Oct 2012
thresh is the 0 1 matrix just as I describe above

Connectez-vous pour commenter.

Catégories

En savoir plus sur Mathematics dans Centre d'aide et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by