Matlab | 找出数组/向量中的重复项的索引

这篇具有很好参考价值的文章主要介绍了Matlab | 找出数组/向量中的重复项的索引。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、问题描述

输入一个数组,里面含有重复项,想要将其重复的项的序号指示出来。

二、问题分析

unique()函数可以去除数组的重复项,并且返回索引。我们可以利用这个返回的索引,进而找出原数组中重复出现的位置。

三、代码

贴了两份代码,第一份输出形式数组,第二份输出形式是元胞。文章来源地址https://www.toymoban.com/news/detail-503084.html

clear;clc;close;

% 输入:一个有小到大排列的,有序的,含有重复项的数组;
% 输出:数组的重复项的序号,每组重复项之间用0分隔开;

clear;clc;close;

% 输入:一个有小到大排列的,有序的,含有重复项的数组;
% 输出:数组的重复项的序号,每组重复项之间用0分隔开;

% TimeDelaySort = [1,1,1,2,4,4,9]; % 12356;项重复
TimeDelaySort = [1.01,1.01,1.011,2.5,2.8,2.8,4.33,4.33,9]; % 125678;项重复

[TimeDelaySortUni,IndexTimeA] = unique(TimeDelaySort,'stable'); % IndexTimeA返回索引
N_baseUni = length(TimeDelaySortUni);

RepeatItem = 0; % 第一个数0,是无效的,为了索引
for ii = 2:N_baseUni % 找到重复项
    if IndexTimeA(ii) - IndexTimeA(ii-1) > 1
        NowRepeatItem = [0,IndexTimeA(ii-1):(IndexTimeA(ii)-1)];
        RepeatItem = [RepeatItem,NowRepeatItem];
    end
end

disp('向量重复项出现于')
disp(RepeatItem(2:end));

clear;clc;close;

% 输入:一个有小到大排列的,有序的,含有重复项的数组;
% 输出:一个元胞,里面是重复的项;

TimeDelaySort = [1,1,1,2,4,4,9]; % 12356;项重复
% TimeDelaySort = [1.01,1.01,1.011,2.5,2.8,2.8,4.33,4.33,9]; % 125678;项重复

[TimeDelaySortUni,IndexTimeA] = unique(TimeDelaySort,'stable'); % IndexTimeA返回索引
N_baseUni = length(TimeDelaySortUni);

aa = 0;
for ii = 2:N_baseUni % 找到重复项
    if IndexTimeA(ii) - IndexTimeA(ii-1) > 1
        aa = aa + 1;
        RepeatItem{aa} = [IndexTimeA(ii-1):(IndexTimeA(ii)-1)];
    end
end

disp('向量重复项出现于')
for ii = 1:aa
    disp(RepeatItem{ii});
end

四、运行结果

Matlab | 找出数组/向量中的重复项的索引
Matlab | 找出数组/向量中的重复项的索引

到了这里,关于Matlab | 找出数组/向量中的重复项的索引的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 28. 找出字符串中第一个匹配项的下标

    给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串的第一个匹配项的下标(下标从 0 开始)。如果 needle 不是 haystack 的一部分,则返回 -1 。

    2024年02月10日
    浏览(41)
  • 力扣-28. 找出字符串中第一个匹配项的下标

    力扣题目 给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串的第一个匹配项的下标(下标从 0 开始)。如果 needle 不是 haystack 的一部分,则返回 -1 。 示例 1: 输入:haystack = “sadbutsad”, needle = “sad” 输出:0 解释:“sad” 在下标 0 和 6 处匹配。 第

    2024年02月20日
    浏览(58)
  • 【LeetCode】28 . 找出字符串中第一个匹配项的下标

    思路 使用 find 函数枚举原串 ss 中的每个字符作为「发起点」,每次从原串的「发起点」和匹配串的「首位」开始尝试匹配: 匹配成功:返回本次匹配的原串「发起点」。 匹配失败:枚举原串的下一个「发起点」,重新尝试匹配。 代码

    2024年02月10日
    浏览(47)
  • LeetCode28. 找出字符串中第一个匹配项的下标

    给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串的第一个匹配项的下标(下标从 0 开始)。如果 needle 不是 haystack 的一部分,则返回  -1 。 示例 1: 输入:haystack = \\\"sadbutsad\\\", needle = \\\"sad\\\" 输出:0 解释:\\\"sad\\\" 在下标 0 和 6 处匹配。 第一个匹配项的下

    2024年02月08日
    浏览(44)
  • LeetCode 28题:找出字符串中第一个匹配项的下标

    给你两个字符串  haystack  和  needle  ,请你在  haystack  字符串中找出  needle  字符串的第一个匹配项的下标(下标从 0 开始)。如果  needle  不是  haystack  的一部分,则返回   -1   。 示例 1: 示例 2: 提示: 1 = haystack.length, needle.length = 104 haystack  和  needle  仅由小写

    2024年02月14日
    浏览(58)
  • matlab:输出一维矩阵中所有重复元素的索引

    参考:https://www.zhihu.com/question/496060981

    2024年02月07日
    浏览(50)
  • 《向量数据库指南》——Milvus 中的向量索引概览和平面索引

    目录 Milvus 中的向量索引 索引概览 平面索引 在之前的教程中,我们简单介绍了单词 Embedding 示例,了解了 Embedding 的强大,以及如何在向量数据库中进行向量存储和索引。此外,我们也简单介绍了最近邻搜索算法,这个问题涉及根据所选距离度量找到距离查询向量最接近的向

    2024年02月13日
    浏览(51)
  • Leecode找出字符串中第一个匹配项的下标 即实现strSTR()函数

    目录 简单介绍该函数的作用         在我们去用查找微信或者qq聊天记录的时候,我们总不能一句一句去找吧。我们需要用到的功能底层大概是此博客所讲的这个函数熬。 一.算法需要传入的参数和返回类型         需要传入的就是和所有的文本,返回的是当前

    2024年02月12日
    浏览(56)
  • MATLAB 1:向量、矩阵与数组

    目录 一、基本概念 1. 常量、变量和标量   (1)常量   (2)变量         1) 变量的命名规则         2)变量的声明与删除   (3)标量 2. 向量、矩阵和数组   (1)向量   (2)矩阵   (3)数组 二、向量 1. 向量的创建   (1)直接输入法   (2)冒号表达式法   (3)函

    2024年02月04日
    浏览(41)
  • MATLAB :向量、矩阵、数组、数据类型

    目录 一、基本概念 1. 常量、变量和标量   (1)常量   (2)变量         1) 变量的命名规则         2)变量的声明与删除   (3)标量 2. 向量、矩阵和数组   (1)向量   (2)矩阵   (3)数组 二、向量 1. 向量的创建   (1)直接输入法   (2)冒号表达式法   (3)函

    2024年01月22日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包