我编写了以下程序来创建表comt。我正尝试将行名添加到此表中,但没有成功。我想添加一个包含行名的新列,每一行都按顺序命名,即(['Row' num2str(j)])
%% Create tables.
combt = [];
%% Loop.
for i = [224:231, 271:281];
j = sprintf('%04d', i)
%% Name the fit results sequentially.
comb.(['comb' j]) = cfit(fitresult);
%% Export combined variables to table.
combt = [combt;comb.(['comb' j])];
end
%% Name the columns.
final = dataset({combt 'a','b','c','d','wa','wb','wc','wd','xa','xb','xc','xd','y0','rsquare'});
当前表格如下所示:
我需要它看起来像这样(行名可以用(['Row' num2str(j)])
来实现):
3条答案
按热度按时间fgw7neuy1#
如果您只想用不同的名称初始化comt变量,只需这样做即可。
如果要为条目指定名称,请执行以下操作:
在您的情况下(确保每个条目都有一个名称):
如果要将名称添加到矩阵中:
2ekbmq322#
如果要将不同的数据格式保存到一个矩阵中,则应使用单元格。在您的示例中,创建一个新的DATA_ARRAY(您想要将其保存在其中):
然后将每个元素转换为字符串、单元格或字符。因为您不能在单元格中写入DOUBLE并将其写入新位置。
最后但并非最不重要的一点是,添加您的行名。请注意,您应该在循环外部定义Row-Name的常量部分,否则strcat会将每个值添加到现有名称中:
这将产生Row_1、Row_2、...、Row_(My_Old_Size)
如果需要,可以使用
char(my_old_data(k,l)
将数据转换为字符,而不是上面给出的字符串。行名也是如此。您可以再次使用char()
来代替num2str
。我将行名的定义和数据的编写分开,以便更容易理解,但对于时间相关性,我将实现代码,这样您只需对数据循环一次。此外,如果您想要再次寻址您的数据,只需使用
才能在那个单元格里得到论点。
0lvr5msh3#
感谢你们所有人的帮助。我找到了一个非常简单的答案,它将在单独的列中添加连续的文件号(我所要做的就是添加
row.(['row' j]) = [i , comb.(['comb' j])]
,当然,在final = dataset({combt 'row', 'a','b','c','d','wa','wb','wc','wd','xa','xb','xc','xd','y0','rsquare'});
中添加另一个列名'row'
)。给予:
生成下表: