如何使用MATLAB消除重复数据

时间:2011-07-22 02:01:37

标签: matlab numbers

我列出了我的数据。我想消除每行中重复的数据。我怎么能用MATLAB做到这一点?

13  13  13  13  38  38  38

13  13  42  0   0   0   0

预期结果:

13 38

13 42

2 个答案:

答案 0 :(得分:2)

查看函数unique。查看文档here

对矩阵的每一行进行操作的一种方法是在每行的循环内调用unique。显然,每行最终可能会有不同数量的唯一元素,因此您可能必须将结果存储在cell数组中。

希望这有帮助。

答案 1 :(得分:2)

要从矢量中选择唯一元素,您可以执行以下操作:

a = unique(b, 'first');

您可以从Mathworks网站docs找到有关此功能的更多信息。

<强>更新

根据Amro的说法,如果顶部和底部不能保证相同的长度,你可以做这样的事情(我猜它们不是,因为这似乎是不太可能的事件):

result = {}
for i = 1:size(a, 1)
  result{i} = unique(a(i, :), 'first');
end;