MATLAB:在单元格数组中附加两个时间表
我有两个单元数组(大小都是30*1),其中所有元素都是时间表。让我们假设来自第一个单元阵列的第一个元素(时间表)如下所示:MATLAB:在单元格数组中附加两个时间表,matlab,append,cell-array,timetable,Matlab,Append,Cell Array,Timetable,我有两个单元数组(大小都是30*1),其中所有元素都是时间表。让我们假设来自第一个单元阵列的第一个元素(时间表)如下所示: timeStamps = datetime([2017 3 5; 2017 3 5; 2017 3 5; 2017 3 5; 2017 3 5; 2017 3 5; 2017 3 5; 2017 3 5]); Volume = [51 101 150 200 254 330 35 40]'; Price= [40 35 40 25 40 35 10 25]'; T=
timeStamps = datetime([2017 3 5; 2017 3 5; 2017 3 5; 2017 3 5; 2017 3 5; 2017 3 5; 2017 3 5;
2017 3 5]);
Volume = [51 101 150 200 254 330 35 40]';
Price= [40 35 40 25 40 35 10 25]';
T= table(timeStamps, Volume, Price)
A= table2timetable(T)
来自第二小区阵列的第一个元素(时间表)是:
timeStamps = datetime([2017 3 5; 2017 3 5; 2017 3 5; 2017 3 5; 2017 3 5; 2017 3 5; 2017 3 5; 2017 3 5]);
w = [22 10 3 4 4 3 3 4]';
Q= [40 1 2 3 40 335 120 2]';
M= table(timeStamps, w, Q)
B= table2timetable(M)
如何创建一个新的单元格数组(大小为30*1),使其元素由前两个时间表的变量的附加组成。在这种情况下,此新单元阵列中的第一个元素(或时间表)将如下所示:
N= table(timeStamps,Volume,Price, w, Q)
R= table2timetable(N)
抱歉,如果我没有定义单元格数组,但是我发现获取我想要知道的信息是无用的
非常感谢你的帮助 简单地连接两个表:
[A,B]
因此,如果您有两个单元格C1
和C2
,则循环通过它们并到达以下位置
for i = length(C1)
C1{i} = [C1{i},C2{i}];
end
简单地连接两个表:
[A,B]
因此,如果您有两个单元格C1
和C2
,则循环通过它们并到达以下位置
for i = length(C1)
C1{i} = [C1{i},C2{i}];
end
这是一个伟大的问题!(对不起,答案似乎有点琐碎^^)这是一个很好的问题!(抱歉,答案似乎有点琐碎^^^)谢谢@max,我使用了你的代码,我得到了如下注释“括号内表达式中的所有表都必须具有相同的行数”。我认为这是因为即使每个元素的每个附加时间表的大小相同,它也不在元素之间。你知道怎么纠正吗?非常感谢。如果要连接时间戳,则时间戳在时间表中必须相同。快速修复方法是
[A,timetable2table(B,'ConvertRowTimes',false)]
,但请注意,在这种情况下,您丢失了B
的所有时间信息,您只需假设其行具有与A
Thank you@max相同的时间戳,我使用了您的代码,得到了如下注释“括号内表达式中的所有表必须具有相同的行数”。我认为这是因为,即使每个元素的每个附加时间表的大小相同,它也不在元素之间。你知道怎么纠正吗?非常感谢。如果要连接时间戳,则时间戳在时间表中必须相同。快速修复方法是[A,timetable2table(B,'ConvertRowTimes',false)]
,但请注意,在这种情况下,您丢失了B
的所有时间信息,您只需假设其行具有与A
相同的时间戳