我想知道,除了使用format compact
之外,是否还有一种方法可以使矩阵的显示更紧凑或更紧凑(可能是预格式化矩阵输出的第三方包?)
下面是在matlab中使用format compact
显示的矩阵的示例
从上面的图像可以看出,列之间有大量的空白。无论每行或每列总共打印多少位数字,列之间的空白量都是固定的。
如果对于给定宽度的命令窗口,矩阵的列数多于其在单行中所能表示的列数,则会浪费此空白空间,因为当发生这种情况时,matlab只会将矩阵分解为几个子矩阵,从而使读取它们变得困难:
附录:
format short
有一点帮助,因为它只为4个小数保留空间(见下图),但有什么其他东西使它更紧凑(例如,让用户控制每个条目保留多少个字符)?
例如,比较以下内容
0 0 0 0 0 1 0 0 1 0
0 0 1 0 0 0 0 0 0 0
0 0 0 0 1 0 0 0 0 1
有:
2条答案
按热度按时间s71maibg1#
默认间距虽然可能可以由really knows what they're doing用户更改,但不能更改。
如果您确实需要控制内容的显示方式,我建议使用
fprintf(1,'...')
命令。这样你就可以尽可能多地控制它的外观。7hiiyaii2#
如果您确定条目都是0到9之间的整数(即一个字符),则可以使用:
它会产生类似这样的结果
否则,对于一般整数,您可以使用以下命令获得最严格的格式:
这会产生类似的结果:
您可以将它们 Package 为函数,甚至可以使用它们重载
disp
,如OP的注解中所建议的那样。