Formatting Vectors using fprintf

How would one print on the command window a 3x1 vector labeled "R" such that the output line matches the format as shown below? Currently I am using a bunch of fprintf functions and manually spacing out the outputs to make it look right, but I want to know if there's a more compact method of outputting and formatting text into command line.

 Accepted Answer

R = [6640.441; 0; 0];
C = compose('%7s[%10.3f km]',["";"R = ";""],R);
fprintf('%s\n','A) Position with respect to the earth in PQW coordinates:',C{:})
A) Position with respect to the earth in PQW coordinates: [ 6640.441 km] R = [ 0.000 km] [ 0.000 km]

1 Comment

Thank you! This works the most compactly.

Sign in to comment.

More Answers (1)

Voss
Voss on 17 Mar 2025
Edited: Voss on 17 Mar 2025
R = [6640.441; 0; 0];
C = compose(' [ %8.3f km]',R);
C{2}([1 3]) = 'R=';
fprintf('%s\n',C{:});
[ 6640.441 km] R = [ 0.000 km] [ 0.000 km]

Categories

Find more on Get Started with MATLAB in Help Center and File Exchange

Products

Release

R2024b

Asked:

on 17 Mar 2025

Commented:

on 19 Mar 2025

Community Treasure Hunt

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

Start Hunting!