Applying custom function to each cell in matrix (or cell array)?

13 Ansichten (letzte 30 Tage)
amanda
amanda am 30 Mär. 2012
I have a matrix whose elements are all generated by the random number generator function, rand. ie. A = rand(3,3);
Now I'd quickly and efficiently like to apply a function to each cell in the matrix such that if any element is less than 0.475 that element will be turned into a 1 else it'll be turned into 0.
I believe I'd use cellfun(@func, A) but I'm unsure how to set up the @func correctly since I've always used matrices/vectors and never cell arrays.

Antworten (2)

Andrei Bobrov
Andrei Bobrov am 30 Mär. 2012
A = rand(3);
out = A < .475
OR use cell array
Ac = num2cell(A);
out = cellfun(@(x)x < .425,Ac,'un',0)

amanda
amanda am 30 Mär. 2012
Thank you :)

Kategorien

Mehr zu Creating and Concatenating Matrices 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!

Translated by