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

12 visualizaciones (últimos 30 días)
amanda
amanda el 30 de Mzo. de 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.

Respuestas (2)

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

amanda
amanda el 30 de Mzo. de 2012
Thank you :)

Categorías

Más información sobre Creating and Concatenating Matrices en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by