例如:A=[1,4,5,8,14,15],从数组A中产生3个不重复的随机数。(当然也可以从A=1:n个数中产生几个不重复随机数)或者(将数组随机排序)。此过程需要利用randperm函数。
1.randperm函数
y = randperm(n),y是把1到n这些数随机打乱得到的一个数字序列。也可以认为是生成了1到n的不重复的随机排序的n个数。

>> y = randperm(5)y =2     3     4     1     5

y = randperm(n,m),生成1到n之间的,不重复的,随机的,m个数。可以理解为,先生成了,y = randperm(n),然后取了前m个数,所以m不能大于n。

>> y = randperm(4,3)y =4     1     3
>> y = randperm(3,4)
错误使用 randperm
K 必须小于或等于 N。

2.numel(x)
numel(x)获得变量长度

y =4     1     3>> numel(y)ans =3

3.X=X(A) 获取新排列的数列
A为新的数组的排列顺序的数组。例如,A=[2 1 3],也就是将,原数组中,第2个数放在第一位,第1个数放第二位,第三个数放第三位。

y =4     1     3>> y=y([2 1 3])y =1     4     3

4.数组的随机排序
利用randperm(n),生成了1到n个,随机排序的,不重复的,n个数,相当于生成了新数组的顺序,配合X=X(A),即可进行排序。

>> A=randperm(3)
A =1     3     2>> yy =1     4     3>> y=y(A)y =1     3     4

5.数组中产生不重复随机数
与上一个数组的随机排序相类似,用randperm(n),生成了1到n个,随机排序的,不重复的,n个数,相当于生成了新数组的顺序。但是,这次是要生成其中部分的随机数,所以,要用randperm(n,m)。然后就能在n个原来的数中,产生随机的不重复的m个数。
可以用numel(y)获取原来的数组中n的数值。

y =4     5     8     3     7     8    14    69     3
>> n=numel(y)n =9
>> X=randperm(9,4)X =9     8     2     3>> y=y(X)y =3    69     5     8

matlab某数组中产生不重复随机数,数组的随机排序,randperm函数numel,X=X(A)函数相关推荐

  1. Java面试题:在一个递增的数组里面,找出任意两个数的和等于100,编写程序输出这些数对,可以假设数组中不存在重复元素

    本文使用两种算法来实现,分别是二分查找法和插值查找法,发现插值查找法更好,更快地找到需要的数据. 代码如下: package com.moson.search;import java.util.Arr ...

  2. 每天一道LeetCode-----有序数组循环右移n位后,寻找最小值,数组中可能包含重复元素

    Find Minimum in Rotated Sorted Array II 原题链接Find Minimum in Rotated Sorted Array II 一个有序数组循环右移n位,找到右 ...

  3. code第一部分数组:从有序数组中移除重复的数据

    code第一部分数组:从有序数组中移除重复的数据 第二题 从有序数组中移除重复的数据,但是可以保留2个重复的数. For example, Given sorted array A = [1,1,1, ...

  4. PHP去掉二维数组中某个元素重复的一维数组

    前言 PHP,刚写电商后台的时候会数组去重,而且是要把数组转为字符串去重,但是针对数组中某一个重复的值来去重还没有做过,这个技术也是开拓我编程思想的一个技术!! 上代码!!!! function to ...

  5. Leetcode刷题100天(阿里云周赛)—查找数组中的所有重复项(哈希)—day42

    前言: 作者:神的孩子在歌唱 大家好,我叫运智 描述 给定一个整数数组,1 ≤ a[i] ≤ n(n = 数组的大小),一些元素出现两次,其他元素出现一次. 找到在此数组中出现两次的所有元素. 示例 ...

  6. 查找数组中的所有重复项

    给定一个整数数组,1 ≤ a[i] ≤ n(n = 数组的大小),一些元素出现两次,其他元素出现一次. 找到在此数组中出现两次的所有元素. find-all-duplicates-in-an-arra ...

  7. es6去除重复项_javascript在ES6中从数组中筛选出重复项并仅返回唯一值

    这是从数组中筛选出重复项并仅返回唯一值的三种方法.我最喜欢的是使用Set,因为它是最短和最简单的. 1.使用Set 首先让我解释一下Set:Set是ES6中引入的新数据对象.因为Set仅允许您存储唯一 ...

  8. python查找数列中重复数字_在数组中找出重复的数字(异或法)

    购买本课程后,可以加51CTO学院李宁老师官方交流群:550369460注意,该群只允许购买李宁老师课程的学员进行技术交流,加群时需要提供在51CTO购买李宁老师课程的订单编号(任何一个课程的订单编号 ...

  9. js 判断数组中是否有重复值两种方法

    判断数组中是否有重复的值,重复则提示优先级重复 第一种方法 推荐 // 以数组值为键,持续向一个对象里面加值,// 如果在加值之前就发现这个属性在对象中已经存在,那么他就是重复的 function i ...

最新文章

  1. java工程打包时进行签名_使用Java SDK实现离线签名
  2. Ajax+Node.js前后端交互最佳入门实践(05)
  3. 电梯停靠问题---------------给你出道题
  4. FTServer 0.9 发布,全文搜索服务器
  5. php 502状态码,Nginx502状态码处理
  6. 【Flink】flink Operator State 的使用及Redistribute listState UnionListState
  7. android切图倍数,【Flutter工具】fmaker:自动生成倍率切图/自动更换App图标
  8. 基础入门_Python-模块和包.深入SQLAlchemy之事务回滚与反射还原对象?
  9. 中国移动边缘计算技术体系与实践
  10. 吴恩达《深度学习专项》笔记+代码实战(六):改进梯度下降算法(mini-batch, Momentum, Adam)
  11. App接入阿里云号码认证服务 一键登录 Java后端服务部分
  12. java.lang.IllegalArgumentException: View=DecorView not attached to window manager(Android Dialog崩溃)
  13. 搜狗翻译加密原理分析
  14. python实现监控URL的一个值小于规定的值--邮件报警
  15. 友谊到底是艘什么样的小破船,那么…
  16. dubbo入门(1)——dubbo-demo
  17. 解决本地从 github上传或下载代码时每次都需要输入用户名和密码
  18. 你不懂之--驻极体麦克风简介
  19. 论文详解 + TCN 篇知识点补充: Receptive Field_感受野
  20. 佳明手表大数据应用_Garmin腕表——四种程序的使用方法. | 佳明开发者

热门文章

  1. 线程的 run()和 start()有什么区别?
  2. 软件测试计划模板(增强版)
  3. 需求推送变革!陈小平教授深度剖析机器人因何由精确性转向灵巧性
  4. 原生微信小程序自定义组件以及组件间通讯
  5. 危与机并存的动力电池行业,谁能成为下一个宁德时代?
  6. goland 方法注释_godoc 介绍以及 Golang 注释规范
  7. 使用 PowerDesigner 和 PDMReader 逆向生成 MySQL 数据字典
  8. 莫兰指数-计算步骤、数据事件研究Stata代码
  9. 金浦钛业:深度布局“大化工”,开启万亿蓝海市场
  10. 【笔记】openwrt - opkg (资料整理)