MATLAB: Help with printing output

inputMATLABMATLAB Online Server

I was trying to print some output that looks like this
Hours Linear Interpolation Nearest Interpolation
13.00 74.52 77.40
22.00 30.02 36.30
41.00 22.68 22.00
…and this is my coding…
disp(' Hours Linear Interpolation Nearest Interpolation')
fprintf(' %.2f %.2f %.2f\n', hours2(1), x(1), y(1))
fprintf(' %.2f %.2f %.2f\n', hours2(2), x(2), y(2))
fprintf(' %.2f %.2f %.2f', hours2(3), x(3), y(3)
I got the output that I want, but is there a way to make the coding looks more beautiful? and I also needed to add space manually to the data(value) so that it alligns with its column in which I thinks that it is kinda ineffecient.

Best Answer

Instead of adding spaces manually you can set the fieldwidth:
hours = [13,22,41];
x = [74.52,30.02,22.68];
y = [77.40,36.30,22.00];
fprintf(' Hours Linear Interpolation Nearest Interpolation\n')
fprintf(' %6.2f %8.2f %24.2f\n',[hours;x;y])
Prints:
Hours Linear Interpolation Nearest Interpolation
13.00 74.52 77.40
22.00 30.02 36.30
41.00 22.68 22.00