faster way of using fprintf

If I have a large cell array say 10x26 where the first two columns are strings and the remaining columns are all numbers. Instead of having to write fprintf(1,'%s\t%s\t%f\t... and so on) is there a faster method which involves not having specify all of the fixed point notations.

 Respuesta aceptada

Jacob Halbrooks
Jacob Halbrooks el 12 de Mzo. de 2012

1 voto

You might try using REPMAT to specify one format for the numeric data that you repeat for the number of numbers you have. For example:
myData = {'a','b',1,2,3,4};
fSpec = repmat('%f\t',1,size(myData,2)-2);
fprintf(1,['%s\t%s\t' fSpec], myData{:})

1 comentario

Oleg Komarov
Oleg Komarov el 12 de Mzo. de 2012
You have to add an additional step if you have more than one line of data:
myData = myData.';

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by