Can you use the 'format long' command in the 'fprintf' command?

I would like to have variable 'x' formated using the 'format long' command when it is printed using fprintf. However, I am unable to place it between the % and f values of ('%f',x) since 'format long' begins with an f. I have tried using '.15' between % and f, however, the output values are not aligned when the numbers infront of the decimal place increase (see below). Can 'format long' be used in fprintf? If not, how can I keep the numbers in front of the decimal place the same length (in this example, '08' for the last three entries)?
sqrt of a (x) error(e) iteration(s)
32.500000000000000 9.923e+02 1
17.234615384615385 2.330e+02 2
10.474036101145005 4.571e+01 3
8.292191785986859 4.760e+00 4
8.005147977880979 8.239e-02 5
8.000001655289593 2.648e-05 6

 채택된 답변

Stephen23
Stephen23 2020년 9월 6일
편집: Stephen23 2020년 9월 6일
"Can 'format long' be used in fprintf?"
No.
"If not, how can I keep the numbers in front of the decimal place the same length..."
You can align numbers by specifying the field length:
>> M = [32.5,9.923e+02,1;17.234615384615385,2.330e+02,2;10.474036101145005,4.571e+01,3;8.292191785986859,4.760e+00,4;8.005147977880979,8.239e-02,5;8.000001655289593,2.648e-05,6];
>> fprintf('%18.15f %.3e %d\n',M.') % default: pad with spaces
32.500000000000000 9.923e+02 1
17.234615384615385 2.330e+02 2
10.474036101145005 4.571e+01 3
8.292191785986859 4.760e+00 4
8.005147977880979 8.239e-02 5
8.000001655289593 2.648e-05 6
>> fprintf('%018.15f %.3e %d\n',M.') % optional: pad with zeros
32.500000000000000 9.923e+02 1
17.234615384615385 2.330e+02 2
10.474036101145005 4.571e+01 3
08.292191785986859 4.760e+00 4
08.005147977880979 8.239e-02 5
08.000001655289593 2.648e-05 6

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Structures에 대해 자세히 알아보기

제품

질문:

2020년 9월 6일

편집:

2020년 9월 6일

Community Treasure Hunt

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

Start Hunting!

Translated by