【发布时间】:2011-09-27 01:50:32
【问题描述】:
有没有方便的方法在 Matlab 终端中显示带有行和列标签的矩阵?像这样的:
M = rand(5);
displaymatrix(M, {'FOO','BAR','BAZ','BUZZ','FUZZ'}, ...
{'ROW1','ROW2','ROW3','ROW4','ROW5'}); %??
屈服:
FOO BAR BAZ BUZZ FUZZ
ROW1 0.1622 0.4505 0.1067 0.4314 0.8530
ROW2 0.7943 0.0838 0.9619 0.9106 0.6221
ROW3 0.3112 0.2290 0.0046 0.1818 0.3510
ROW4 0.5285 0.9133 0.7749 0.2638 0.5132
ROW5 0.1656 0.1524 0.8173 0.1455 0.4018
如果有一些 ASCII 艺术的细节,那就更好了:
| FOO BAR BAZ BUZZ FUZZ
-----+-------------------------------------------------
ROW1 | 0.1622 0.4505 0.1067 0.4314 0.8530
ROW2 | 0.7943 0.0838 0.9619 0.9106 0.6221
ROW3 | 0.3112 0.2290 0.0046 0.1818 0.3510
ROW4 | 0.5285 0.9133 0.7749 0.2638 0.5132
ROW5 | 0.1656 0.1524 0.8173 0.1455 0.4018
【问题讨论】:
-
这个问题来自 2011 年,接受的答案来自 2012 年。Matlab2013b 引入了
table数据类型,它完全符合原始问题中的要求(参见 Sh3ljohn 的回答)。 -
需要注意的是,下面的解决方案都不适用于Octave,所以我发布了我自己的问题here。
标签: matlab matrix tabular matlab-table