Threshold the matrix with vector

1 Ansicht (letzte 30 Tage)
Aravin
Aravin am 8 Okt. 2012
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.

Akzeptierte Antwort

Junaid
Junaid am 8 Okt. 2012
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;

Weitere Antworten (1)

Wayne King
Wayne King am 8 Okt. 2012
Bearbeitet: Wayne King am 8 Okt. 2012
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 Kommentare
Aravin
Aravin am 8 Okt. 2012
Thanks Wayne, but it is not giving me 0 1 matrix as after thresholding B should be binary ???
Wayne King
Wayne King am 8 Okt. 2012
thresh is the 0 1 matrix just as I describe above

Melden Sie sich an, um zu kommentieren.

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by