write in text file

i have to write a cell which has both numbers and strings in to a text file if i use %s the numeric values are not written properly. Can any one help Thanks in advance

 Respuesta aceptada

Wayne King
Wayne King el 6 de Nov. de 2012

1 voto

You can use ischar() to query which elements are strings and write those properly.

4 comentarios

Walter Roberson
Walter Roberson el 6 de Nov. de 2012
Expanding on this a bit: use (~cellfun(@ischar,YourArray)) to create a logical index of the numeric positions. Use cellfun() on those positions, with an appropriate function such as @sprintf, in order to format those numeric positions as strings and write them back in the cell array in the form of strings. Now you have a cell array which is only strings and you can write it out.
Sharen H
Sharen H el 6 de Nov. de 2012
can u please give the syntax how to work i couldnot do it
Walter Roberson
Walter Roberson el 6 de Nov. de 2012
Letting C be your cell array, then:
TC = C;
cellisnum = ~cellfun(@ischar, TC);
TC(cellisnum) = cellfun(@num2str, TC(cellisnum), 'UniformOutput', false);
for R = 1 : size(TC,1)
fprintf(s, '%s ', TC{R,1:end-1));
fprintf(s, '%s\n', TC{R,end});
end
Sharen H
Sharen H el 6 de Nov. de 2012
Thanks a lot .. Walter Roberson ...Thank u so much

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Etiquetas

Preguntada:

el 6 de Nov. de 2012

Community Treasure Hunt

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

Start Hunting!

Translated by