Printing cell array with skipping a value

1 view (last 30 days)
I have following code:
fileID = fopen('output.txt','w');
fprintf(fileID, '%s %g ', matComp{:});
fclose(fileID);
which gives
Fe 92.44 C 3.61 Si 2.81 Mn 0.23 P 0.014 S 0.009 Ni 0.88 Mg 0.041
Now I want to change the code so I get (no number after "Fe"):
Fe C 3.61 Si 2.81 Mn 0.23 P 0.014 S 0.009 Ni 0.88 Mg 0.041
Do you know how to do it?

Accepted Answer

Dave B
Dave B on 14 Oct 2021
Edited: Dave B on 14 Oct 2021
If you want to get rid of just the one value, how about setting it to empty inside of matComp. Note that you'll end up with one extra space...
I'll use sprintf to display what you're putting in your file:
load('matlab.mat')
sprintf('%s %g ', matComp{:})
ans = 'Fe 92.44 C 3.61 Si 2.81 Mn 0.23 P 0.014 S 0.009 Ni 0.88 Mg 0.041 '
matComp{2,1}=[];
sprintf('%s %g ', matComp{:})
ans = 'Fe C 3.61 Si 2.81 Mn 0.23 P 0.014 S 0.009 Ni 0.88 Mg 0.041 '

More Answers (0)

Community Treasure Hunt

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

Start Hunting!