MATLAB知识点: unique函数 提取数组中的唯一值

​讲解视频:可以在bilibili搜索《MATLAB教程新手入门篇——数学建模清风主讲》。​

MATLAB教程新手入门篇(数学建模清风主讲,适合零基础同学观看)_哔哩哔哩_bilibili


节选自第3章 3.4.5 集合运算

unique函数可用来提取数组中的唯一值,它可以用在我们学过的向量和矩阵上,也可以用在我们后续章节要学的表格类型的数据上。

先以向量为例,unique函数的用法如下:

如果A是一个向量,C = unique(A) 会对向量A进行去重操作,即提取向量A的唯一值。返回的向量C和输入的向量A的方向相同,向量C的每一个元素都来自向量A且互不相同,同时,MATLAB会自动将C中元素升序排列。(显然,numel(A)≥numel(C)对任意的A都成立)

另外,unique函数可以有最多三个返回值:[C,ia,ic] = unique(A),这里的ia和ic都是索引向量,ia是C中的每个元素在A中的索引值,ic是A中的每个元素在C中的索引值。因此有下面的等式成立:A(ia)等于C 且 C(ic)等于A。

C = [-6 -3 5 8 10] 是A中的唯一值;

ia = [2;7;1;5;4] 是一个列向量:第一个元素2代表的含义是C中第一个元素-6在A中的索引值是2(A中有两个-6,MATLAB会返回第一个-6的索引);第二个元素是7,表示C中第二个元素-3在A中的索引值是7;第三个元素是1,表示C中第三个元素5在A中的索引值是1;依此类推。

ic = [3;1;3;5;4;1;2;2]也是一个列向量:第一个元素3代表的含义是A中第一个元素5在C中的索引值是3;第二个元素1代表的含义是A中第二个元素-6在C中的索引值是1;依此类推。

上面得到的唯一值向量C都会自动进行升序排列,如果我们不希望MATLAB自动排序,可以在unique函数的输入最后增加一个参数'stable',这样MATLAB会按照与A中相同的顺序返回C中的值。

unique函数还可以作用到矩阵上,它的用法如下:

如果A是一个矩阵,那么unique(A)的结果和unique(A(:))的结果相同。但是,如果我们加一个输入参数'rows',那么unique(A, 'rows')会将A的每一行视为一个整体,会返回A矩阵的唯一行。注意,MATLAB默认会对唯一行进行排序,排序规则如下:优先按照第一列元素升序排列,第一列元素相同时,会按第二列元素升序排列,依此类推。当然,如果你希望按照与A中相同的顺序返回唯一值,则可以在输入的最后加一个参数'stable'。

unique函数用于矩阵上时,也可以有最多三个返回值,但这种情况我们用的非常少,感兴趣的同学可以在MATLAB中进行测试。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/2780362.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

Stable Diffusion 模型下载:majicMIX lux 麦橘辉耀 - V3

本文收录于《AI绘画从入门到精通》专栏,专栏总目录:点这里。 文章目录 模型介绍生成案例案例一案例二案例三案例四案例五案例六案例七案例八案例九案例十

算法沉淀——位运算(leetcode真题剖析)

算法沉淀——位运算 常用位运算总结1.基础位运算2.确定一个数中第x位是0还是13.将一个数的第x位改成14.将一个数的第x位改成05.位图6.提取一个数最右边的17.删掉一个数最右边的18.异或运算9.基础例题 力扣题目讲解01.面试题 01.01. 判定字符是否唯一02.丢失的数字03.两整数之和…

LeetCode Python - 11.盛最多水的容器

文章目录 题目答案运行结果 题目 给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 返回容器可以储存的最大水量。 说明&a…

计网day1

RTT:往返传播时延(越大,游戏延迟) 一.算机网络概念 网络:网样的东西,网状系统 计算机网络:是一个将分散得、具有独立功能的计算机系统,通过通信设备与线路连接起来,由功…

web 前端实现一个根据域名的判断 来显示不同的logo 和不同的标题

1.需求 有可能我做一个后台 web端 我想实现一套代码的逻辑 显示不同的公司主题logo以及内容,但是实际上 业务逻辑一样 2.实现 建一个store oem.ts 这个名为是 oem系统 oem.ts import { defineStore } from pinia;import { store } from /store;const oemDataLis…

并行计算导论 笔记 1

目录 并行编程平台隐式并行超标量执行/指令流水线超长指令字处理器 VLIW 内存性能系统的局限避免内存延迟的方法 并行计算平台控制结构通信模型共享地址空间平台消息传递平台对比 物理组织理想并行计算机并行计算机互联网络网络拓朴结构基于总线的网络交叉开关网络多级网络全连…

【MySQL基础】:深入探索DQL数据库查询语言的精髓(上)

🎥 屿小夏 : 个人主页 🔥个人专栏 : MySQL从入门到进阶 🌄 莫道桑榆晚,为霞尚满天! 文章目录 📑前言一. DQL1.1 基本语法1.2 基础查询1.3 条件查询1.3 聚合函数 🌤️ 全篇…

中文GPTS使用秘籍,字节扣子Coze工作流使用全教程

大家好,我是斜杠君。今天和大家分享字节扣子Coze工作流创建和使用全教程,手把手教会你。 首先我们先来看一下如何创建一个工作流。 我们以创建这样一个工作流为例。这个工作流程的作用是:把用户输入的内容通过头条接口查询信息,把…

MySQL篇----第二十一篇

系列文章目录 文章目录 系列文章目录前言一、什么是乐观锁二、什么是悲观锁三、什么是时间戳四、什么是行级锁前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。 一、…

【Tauri】(1):使用Tauri1.5版本,进行桌面应用开发,在windows,linux进行桌面GUI应用程序开发,可以打包成功,使用 vite 最方便

1,视频地址: https://www.bilibili.com/video/BV1Pz421d7s4/ 【Tauri】(1):使用Tauri1.5版本,进行桌面应用开发,在windows,linux进行桌面GUI应用程序开发,可以打包成功&…

第四节 zookeeper集群与分布式锁

目录 1. Zookeeper集群操作 1.1 客户端操作zk集群 1.2 模拟集群异常操作 1.3 curate客户端连接zookeeper集群 2. Zookeeper实战案例 2.1 创建项目引入依赖 2.2 获取zk客户端对象 2.3 常用API 2.4 客户端向服务端写入数据流程 2.5 服务器动态上下线、客户端动态监听 2…

mysql经典4张表问题

1.数据库表结构关联图 2.问题: 1、查询"01"课程比"02"课程成绩高的学生的信息及课程分数3.查询平均成绩大于等于60分的同学的学生编号和学生姓名和平均成绩4、查询名字中含有"风"字的学生信息5、查询课程名称为"数学"&…

VMware虚拟机安装openEuler系统(二)(2024)

下面我们进行openEuler系统的一些简单配置。 1. 开启openEuler系统 在VMware Workstation Pro虚拟机软件中找到安装好的openEuler操作系统虚拟机并开启。 等待开启。 2. 安装配置 进入后选择第一个“Install openEuler 20.03-LTS”。 3. 选择系统语言 为虚拟机设置系统语言…

JVM垃圾回收机制及调优工具Arthas的使用

文章目录 1、JVM垃圾回收机制1.1 针对的内存区域1.2 怎么判断对象是否可以被回收?1.3 垃圾收集算法1.3.1 **标记-清除(Mark-Sweep)**1.3.2 复制(Copying)1.3.3 标记-整理(Mark-Compact)1.3.4 分…

python+flask+django医院预约挂号病历分时段管理系统snsj0

技术栈 后端:python 前端:vue.jselementui 框架:django/flask Python版本:python3.7 数据库:mysql5.7 数据库工具:Navicat 开发软件:PyCharm . 第一,研究分析python技术&#xff0c…

《Linux 简易速速上手小册》第3章: 文件系统与权限(2024 最新版)

文章目录 3.1 Linux 文件系统结构3.1.1 重点基础知识3.1.2 重点案例:设置一个 Web 服务器3.1.3 拓展案例 1:日志文件分析3.1.3 拓展案例 2:备份用户数据 3.2 理解文件权限3.2.1 重点基础知识3.2.2 重点案例:共享项目文件夹3.2.3 拓…

陶陶摘苹果C++

题目&#xff1a; 代码&#xff1a; #include<iostream> using namespace std; int main(){//一、分析问题//已知&#xff1a;10 个苹果到地面的高度a[10],陶陶把手伸直的时候能够达到的最大高度height//未知&#xff1a;陶陶能够摘到的苹果的数目sum。//关系&#xff…

C++PythonC# 三语言OpenCV从零开发(8):图像平滑处理

文章目录 相关链接前言图像资源图像平滑处理图像学知识补充(重点)什么是卷积什么是图像滤波什么是方框滤波和均值滤波 代码PythonCCsharp 总结 相关链接 C&Python&Csharp in OpenCV 专栏 【2022B站最好的OpenCV课程推荐】OpenCV从入门到实战 全套课程&#xff08;附带课…

第三节 zookeeper基础应用与实战2

目录 1. Watch事件监听 1.1 一次性监听方式&#xff1a;Watcher 1.2 Curator事件监听机制 2. 事务&异步操作演示 2.1 事务演示 2.2 异步操作 3. Zookeeper权限控制 3.1 zk权限控制介绍 3.2 Scheme 权限模式 3.3 ID 授权对象 3.4 Permission权限类型 3.5 在控制台…

【大数据】Flink on Kubernetes 原理剖析

Flink on Kubernetes 原理剖析 1.基本概念2.架构图3.核心概念4.架构5.JobManager6.TaskManager7.交互8.实践8.1 Session Cluster8.2 Job Cluster 9.问题解答 Kubernetes 是 Google 开源的 容器集群管理系统&#xff0c;其提供应用部署、维护、扩展机制等功能&#xff0c;利用 K…