Simple use of bsxfun

I am having trouble doing simple vectorization operations for GPU using bsxfun and arrayfun.
For example, How would I do this operation on a GPU :
X(X>num)=num
I tried :
X = bsxfun(@gt, X, num)
Then I am stuck at the assignment. I am guessing the ternary operations are not possible?
Thank you so much for helping out.

 Réponse acceptée

Jan
Jan le 12 Avr 2013
Modifié(e) : Jan le 12 Avr 2013

4 votes

Tjhere is no reason to use bsxfun here, because X(X > num) = num is sufficient already. An alternative:
X = min(X, num);
bsxfun is useful, when an elementwise operation between a matrix and a vector should be performed and the vector needs to be "inflated" for this.

Plus de réponses (0)

Catégories

Community Treasure Hunt

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

Start Hunting!

Translated by