我有一个名为single_matrix_with_time_id
的矩阵,第一列对应于frame_number
,第二列对应于time
,第三列包含identity
,第四列包含{{ 1}},第五列和第六列的内容为error
,第七列的内容为X and Y coordinates
。
我要做的是从第二列(Camera_id
)中获取唯一元素,并从time
中获取与time
的唯一元素相对应的元素,并将其添加到名为first and seventh column
的新矩阵的第一,第二和第三列。我尝试在下面显示的代码中执行此操作,但是并没有给我预期的结果。附加了final_plot_matrix
的代码和图像。任何帮助将不胜感激。
single_matrix_with_time_id
答案 0 :(得分:1)
使用“ unique”似乎在正确的轨道上,但是应该比这更简单。调用时间数据(第二列)上的unique以获取唯一的行号。唯一返回唯一值作为第一个输出,索引返回第二个。我们只关心索引,因此忽略第一个输出。
[~, ia] = unique(single_matrix_with_time_id(:,2);
现在,您知道要从原始数据获得的行号和列号。行号在“ ia”中,并且您需要第1、2和7列。因此,创建一个新矩阵:
final_plot_matrix = single_matrix_with_time_id(ia,[1 2 7]);
就是这样!如果要切换列的顺序(例如,将时间排在第一列而不是第二列),只需在上一行中切换列的顺序即可。例如:
final_plot_matrix = single_matrix_with_time_id(ia,[2 1 7]);