faster way of using fprintf

2 views (last 30 days)
Richard
Richard on 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.

Accepted Answer

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

Sign in to comment.

More Answers (0)

Categories

Find more on Variables in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!