Matlab | 去除数组或矩阵中的重复元素
·
22-06-10 更新
感谢@向着阳光生长的男孩的指正!有更好的方法,只要一句代码就搞定了。把三种方法整理了,一并放在下面了。
代码
clc;clear;close all;
% 第一种方法
r_integer = [1,3,2,2,2,3,5,6,7];
r_NonRepeating1 = unique(r_integer); % 去掉重复元素,但会打乱顺序
% 第二种方法
[~,j] = unique(r_integer,'first');
r_NonRepeating2 = r_integer(sort(j)); % 未打乱顺序的去重
% 第三种方法
[r_NonRepeating3,~] = unique(r_integer,'stable'); % 第三种方法是最好的!
运行结果
———————————————————————————————————————————————————————————
22-03-09
r_NonRepeating = unique(r_integer); % 去掉重复元素,打乱顺序
[i,j] = unique(r_integer,'first');
B = r_integer(sort(j)); % 未打乱顺序的去重
%% 总结
% (1)用unique函数可以去掉数组中的重复元素,但默认的会打乱数组排序
% (2)上面代码给出了恢复排序的方法
更多推荐
已为社区贡献6条内容
所有评论(0)