我有一个huuuge矩阵存储关于X和Y坐标的信息的多个颗粒的轨迹,这在简化版本看起来像这样的:MATLAB:简单矩阵过滤 - 组大小
COL 1-轨道号; col 2帧数; col 2 - 坐标X;山坳3-座标Y
例如:
A =
1 1 5.14832 3.36128
1 2 5.02768 3.60944
1 3 4.85856 3.81616
1 4 5.17424 4.08384
2 1 2.02928 18.47536
2 2 2.064 18.5464
3 1 8.19648 5.31056
3 2 8.04848 5.33568
3 3 7.82016 5.29088
3 4 7.80464 5.31632
3 5 7.68256 5.4624
3 6 7.62592 5.572
现在我想筛选出的轨迹短于让说,4和保持剩余的东西像(轨迹注重新编号):
B =
1 1 5.14832 3.36128
1 2 5.02768 3.60944
1 3 4.85856 3.81616
1 4 5.17424 4.08384
2 1 8.19648 5.31056
2 2 8.04848 5.33568
2 3 7.82016 5.29088
2 4 7.80464 5.31632
2 5 7.68256 5.4624
2 6 7.62592 5.572
如何有效地做到这一点?我可以考虑使用for循环和vertcat的一些想法,但它是有史以来最慢的解决方案:/
谢谢!
你是什么意思是短于2的轨迹? –
哦对不起,笨我:)当然,比f.ex短。 4 =小于4帧的轨迹 – Art
该矩阵是存储该信息的非常低效的方式。即使你只是将其分割并将“小”矩阵存储在单元格中,结果的“过滤”也是微不足道的。 – bdecaf