Matlab输出-空间填充?

Tra*_*v92 2 format matlab printf matrix output

我正在尝试输出一个矩阵:

M = [1 20 3; 22 3 24; 100 150 2];
Run Code Online (Sandbox Code Playgroud)

使用方法:

for i=1:3
    fprintf('%f\t%f\t%f\n', M(i), M(i+length(M)), M(i+length(M)*2));
end
Run Code Online (Sandbox Code Playgroud)

输出结果如下:

1 20 3
22  3  24
100  150  2
Run Code Online (Sandbox Code Playgroud)

这显然不是很好。我如何获得它,以便在整数的前面填充空格?像这样:

  1   20   3
 22    3  24
100  150   2
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

谢谢!

Sha*_*hai 5

您可以使用字符串格式为每个显示的数字分配特定的字符数。
例如

 fprintf('% 5d\n', 12) 
Run Code Online (Sandbox Code Playgroud)

12以5个字符打印,用空格填充未使用的3个前导字符。