MATLAB unique()函数的用法
在 MATLAB 中,unique() 函数用于计算并去掉集合中去掉重复的元素,显示剩余的唯一值元素集合。
unique() 函数的调用格式及说明如下表所示。
【实例 1】计算矩阵的唯一值。
在 MATLAB 命令行窗口中输入如下命令:
【实例 2】计算矩阵的唯一值并显示索引。
在 MATLAB 命令行窗口中输入如下命令:
unique() 函数的调用格式及说明如下表所示。
调用格式 | 说明 |
---|---|
C = unique(A) | 返回由 A 中唯一值组成的数组 C,并按照从小到大的顺序排序 |
C = unique(A,setOrder) | 以特定顺序返回 A 的唯一值。setOrder 可以是 sorted(默认值)或 stable |
C = unique(A,occurrence) | 指定遇到重复值时应返回哪个索引。occurrence 可以是 first(默认值)或 last |
C = unique(A,...,'rows') C = unique(A,'rows',...) |
将 A 中的每一行视为单个实体,并按排序顺序返回 A 中的唯一行 |
[C,ia,ic] = unique(...) | 返回索引向量 ia 和 ic。其中,ia 是包含各元素在 A 中首次复现处的对应索引的列向量;ic 是 C 的索引列向量 |
[C,ia,ic] = unique(A,'legacy') [C,ia,ic] = unique(A,'rows','legacy') [C,ia,ic] = unique(A,occurrence,'legacy') [C,ia,ic] = unique(A,'rows',occurrence,legacy) |
保留 R2012b 和早期版本中 unique 函数的行为。legacy 选项不支持分类数组、日期时间数组、持续时间数组、日历持续时间数组、表或时间表 |
【实例 1】计算矩阵的唯一值。
在 MATLAB 命令行窗口中输入如下命令:
>> clear % 清除工作区的变量 >> A=[1,2,1;4,6,4;5,9,6]; % 定义包含一个重复值的矩阵A >> C = unique(A) % 按照从小到大的顺序显示A中的数据,不包含重复项 C = 1 2 4 5 6 9
【实例 2】计算矩阵的唯一值并显示索引。
在 MATLAB 命令行窗口中输入如下命令:
>> clear % 清除工作区的变量 >> A=[1 2 1;4 6 4;5 9 6]; % 定义一个包含重复值的矩阵A % 按照从小到大的顺序显示A中的数据,不包含重复项,并返回对应的位置列向量I和J >> [B,I,J] = unique(A) B = 1 2 4 5 6 9 I = 1 4 2 3 5 6 J = 1 3 4 2 5 6 1 3 5