如何在matlab中制作表格?

时间:2015-01-29 13:01:33

标签: matlab

我想在Matlab中创建一个简单的表,所以我使用了这段代码:

T := table(a = 13, c = 42)

但是它给出了一个错误:

  

XRD   类型的输入参数的未定义函数“T”   “焦炭”。   xrd错误(第1行)   T:=表(a = 13,c = 42)

我该如何解决这个问题?

3 个答案:

答案 0 :(得分:3)

:=在Matlab中不是操作符,这会解释您的代码行。 Matlab尝试访问一个名为T的函数,其余部分作为字符串参数。

尝试

a = 13
b = 42    
t = table(a, b)

输出:

t = 

    a     b 
    __    __

    13    42

对于rownames,您可以使用:

>>t = table(a, b, 'RowNames', {'c'})

t = 

         a     b 
         __    __

    c    13    42

请注意,RowNames参数是一个单元格,每行包含一个字符串

答案 1 :(得分:1)

在matlab中,table具有特定含义(请参阅documentation),这可能与您在其他语言中的习惯不同。

对于您要做的事情,也许您应该考虑定义一个结构:

T = struct('a', 13, 'c', 42)

查看struct文档以获取更多详细信息:

doc struct

答案 2 :(得分:0)

由于MATLAB用预定义的列名初始化表的方式对我来说似乎特别晦涩,因此我在此处进行记录。

请注意,我曾经使用cell2table函数来初始化表。 从那时起,jobTable.FOO = ...;将使您能够创建更多列FOO

jobTable = cell2table([{'running'}, {'queued'}, {'finished'}]', 'VariableNames', {'state'});
jobTable.rank = [0, 1, -1]';
jobTable.workflowId = [0, 29039, 28000]';

您可以将表格转换为结构,例如通过使用table2struct(jobTable)对与Java通讯更有用。