我列出了我的数据。我想消除每行中重复的数据。我怎么能用MATLAB做到这一点?
13 13 13 13 38 38 38
13 13 42 0 0 0 0
预期结果:
13 38
13 42
答案 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;