Search and replace values in cell array?
14 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Alana Weir
el 16 de Ag. de 2016
Comentada: Alana Weir
el 16 de Ag. de 2016
I have a cell array that is populated with 0's and letters. I and trying to write a script that will convert the different letters into different numerical values. The array is set up as below;
0 0 0 0 M
0 0 0 0 0
0 S 0 0 0
0 0 L 0 0
And i am trying to convert it to;
0 0 0 0 2
0 0 0 0 0
0 1 0 0 0
0 0 3 0 0
I can't search each column/row and replace manually as I will have an unknown amount of each. I tried using cellfun for this but as the isn't scalar I wasn't sure how. Any suggestions?
0 comentarios
Respuesta aceptada
hcai
el 16 de Ag. de 2016
I believe cellfun should still work. Try setting 'UniformOutput' to false.
3 comentarios
hcai
el 16 de Ag. de 2016
Convert it to a matrix first in order to index into your cell array:
A(cell2mat(cellfun(@(elem) elem == 'M', A(:, :), 'UniformOutput', false))) = {2};
Here is what I see:

Más respuestas (0)
Ver también
Categorías
Más información sobre Cell Arrays en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!