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

10 visualizzazioni (ultimi 30 giorni)
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.

Risposte (2)

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

amanda
amanda il 30 Mar 2012
Thank you :)

Categorie

Scopri di più su Creating and Concatenating Matrices 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!

Translated by