faster way of using fprintf

3 vues (au cours des 30 derniers jours)
Richard
Richard le 12 Mar 2012
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.

Réponse acceptée

Jacob Halbrooks
Jacob Halbrooks le 12 Mar 2012
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 commentaire
Oleg Komarov
Oleg Komarov le 12 Mar 2012
You have to add an additional step if you have more than one line of data:
myData = myData.';

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Data Types dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by