Matlab : unique函数的用法

unique 是MATLAB中一个非常实用的函数,用于找出数组中的唯一值。它有几种不同的用法,可以根据需要选择合适的参数来控制输出的行为。以下是**unique**函数的基本用法和一些常见参数的介绍:

基本语法:

python 复制代码
C = unique(A)
[C,IA,IC] = unique(A)
[C,IA,IC] = unique(A,'stable')
  • A :输入数组,可以是一维向量、多维数组或字符串数组

  • C :输出数组,包含了A中的唯一值。默认情况下,这些值按照升序排列。

  • IA (可选):一个索引数组,表示A中的每个元素在C中的对应位置。 换句话说,A(IA)会给你一个与A相同大小的数组,但其中的元素已按照它们在C中的顺序重新排列。

  • IC (可选):如果A是一个矩阵,IC是一个与A同尺寸的矩阵,它标记了A中每个元素对应的C中的唯一值的索引。这对于重建原始数据很有用。

  • 'stable'(可选):当使用这个选项时,unique 不仅返回唯一值,而且保持这些值在A中首次出现的顺序。这对于需要保持元素顺序不变的场景特别有用。

笔者在处理数据时会遇到一维数组中数据重复的情形,重复的数据会干扰画图。

如:

python 复制代码
X = [1, 2, 3, 3, 3, 3, 4, 4]
% 去重后
x = unique(X)
%% x = [1, 2, 3 ,4]

unique多半不用在矩阵上,而用在数组上更合适。这里就介绍最基本的用法。

1.基本去重

python 复制代码
A = [3, 1, 2, 1, 5, 2];
C = unique(A); % 返回排序后的唯一值:[1, 2, 3, 5]

2.保持顺序的去重

python 复制代码
C_stable = unique(A, 'stable'); % 返回:[3, 1, 2, 5]
相关推荐
倦王11 小时前
力扣日刷26110
算法·leetcode·职场和发展
行者9611 小时前
Flutter跨平台开发适配OpenHarmony:进度条组件的深度实践
开发语言·前端·flutter·harmonyos·鸿蒙
DYS_房东的猫11 小时前
《 C++ 零基础入门教程》第3章:结构体与类 —— 用面向对象组织代码
开发语言·c++
向量引擎11 小时前
复刻“疯狂的鸽子”?用Python调用Sora2与Gemini-3-Pro实现全自动热点视频流水线(附源码解析)
开发语言·人工智能·python·gpt·ai·ai编程·api调用
涛涛北京11 小时前
【算法比较】
算法
yuniko-n11 小时前
【牛客面试 TOP 101】链表篇(二)
算法·链表·职场和发展
少许极端11 小时前
算法奇妙屋(二十三)-完全背包问题(动态规划)
java·算法·动态规划·完全背包
CoderCodingNo11 小时前
【GESP】C++五级练习(贪心思想考点) luogu-P1115 最大子段和
开发语言·c++·算法
Q741_14711 小时前
C++ 队列 宽度优先搜索 BFS 力扣 429. N 叉树的层序遍历 每日一题
c++·算法·leetcode·bfs·宽度优先
a程序小傲11 小时前
得物Java面试被问:边缘计算的数据同步和计算卸载
java·开发语言·数据库·后端·面试·golang·边缘计算