MATLAB 2010 或更低版本中是否有任何函数可以以表格形式打印结果(例如:某些矩阵)?我从谷歌搜索得到的只是一个table()
只能在 MATLAB 2013 或更高版本中使用的函数。我的机器里有 MATLAB 2010,下载更新版本是不切实际的,因为它非常大而且我很着急。谢谢你。
问问题
9585 次
3 回答
3
如何使用displaytable
Matlab 文件交换: http: //www.mathworks.co.uk/matlabcentral/fileexchange/33717-display-formatted-text-table-of-data
这是从文档中提取的示例:
示例 1 - 基本用法
colheadings = {'number of projects','sales','profit'};
rowheadings = {'Jimmy Slick', 'Norman Noob'}
data = [3 rand(1) rand(1); 1 rand(1) rand(1)];
要将每行中的第一个数字格式化为十进制 (%d),将第二个数字格式化为 %16.4f,将第三个数字格式化为 %16.5E,请执行以下操作:
wid = 16;
fms = {'d','.4f','.5E'};
在这种情况下,16 将是字段宽度,'.5E' 是用于 fms 参数的
fileID = 1;
displaytable(data,colheadings,wid,fms,rowheadings,fileID);
这是格式化的输出:
|number of projec | sales | profit
Jimmy Slick | 3 | 0.4502 | 5.22908E-001
Norman Noob | 1 | 0.9972 | 2.78606E-002
于 2014-08-20T08:04:53.137 回答
2
对于 Matlab 2012 及以下版本,
可以使用打印垫
printmat(yourMatrix, 'yourMatrix', 'ROW1 ROW2 ROW3 ROW4 ROW5', 'COLUMN1 COLUMN2 COLUMN3 COLUMN4 COLUMN5' );
或使用
dataset({yourMatrix 'COLUMN1','COLUMN2','COLUMN3','COLUMN4','COLUMN5'}, ...
'obsnames', {'ROW1','ROW2','ROW3','ROW4','ROW5'})
参考:显示带有行和列标签的矩阵
对于 Matlab 2012 及更高版本:
使用array2table,它将数组转换为表格。
例子:
A = [1 4 7; 2 5 8; 3 6 9];
T = array2table(A)
T =
A1 A2 A3
__ __ __
1 4 7
2 5 8
3 6 9
于 2014-08-20T06:20:20.253 回答
2
嗨,我不确定这是否是您所指的功能table()
。我正在使用的是:
uitable('Data', c_Output(2:end,2:end), 'ColumnName', c_Output(1,2:end),...
'RowName', c_Output(2:end,1), 'Units', 'normalized',...
'Position', [0.575 0.32 0.33 0.13]);
c_Output 是一个矩阵,其中包含我的数据和行/列名称。位置从左下角开始计算。所以右上角是(1,1)。您必须手动为每个图形/位置调整它。不知道是否有将表格转换为“绘图”的内置函数
于 2014-08-20T06:21:49.520 回答