精华内容
下载资源
问答
  • MATLAB提供了多种生成随机整数的方法,下面我们就着重介绍几种常用的方法。 方法一:rand() rand()函数常用来生成0-1之间的随机矩阵,那么我们完全也可以用来生成我们想要的任意大小、任意个数的随机整数...

    MATLAB提供了多种生成随机整数的方法,下面我们就着重介绍几种常用的方法。

    • 方法一:rand()

      rand()函数常用来生成0-1之间的随机矩阵,那么我们完全也可以用来生成我们想要的任意大小、任意个数的随机整数。

      1,生成0-5之间的10个随机整数

      在matlab主窗口中输入round(rand(1,10)*5) 回车2,生成1个随机整数,,

      命令  round(rand(1,1)*5)  回车

      3,生成-5-4之间的10个随机整数

      在matlab主窗口中输入   round(rand(1,10)*9)-5  回车

      我们可以看到生成的是在-5到4之间的随机整数!

    • 方法二: randint()

      randint()函数可以生成任意区间任意维数的随机整数矩阵,下面我们就举例验证之.

      1,生成1个5-9之间的随机整数

      在主窗口中输入 randint(1,1,[5 9])回车

      2,生成10个5到20之间的整数

      在主窗口中输入  randint(1,10,[10 20])  回车

      黄色警告的意思是这个函数未来可能会被MATLAB移除,请用rand()函数,当然我们现在不熟悉rand()函数,还可以继续用这个函数。

      3,生成10个-7到15之间的随机整数

      在主窗口中输入  randint(1,10,[-7 15]) 回车

      结论:randint()函数其实是rand()函数的特殊版本,randint()能够生成的所有整数rand()函数都可以做到,不过需要我们自己去手动进行取整以及区间变换操作,randint()函数用起来方便,但是未来有可能这个函数被删除,所有希望大家也多去了解一下rand()函数。

    展开全文
  • 生成随机整数方法

    千次阅读 2014-09-18 14:49:00
    MATLAB 生成随机整数 的各种方法以及实例 MATLAB提供了多种生成随机整数的方法,下面我们就着重介绍几种常用的方法。 方法一:rand() rand()函数常用来生成0-1之间的随机矩阵,那么我们完全也可以用来生成...

    MATLAB 生成随机整数 的各种方法以及实例

    MATLAB提供了多种生成随机整数的方法,下面我们就着重介绍几种常用的方法。

    • 方法一:rand()

      rand()函数常用来生成0-1之间的随机矩阵,那么我们完全也可以用来生成我们想要的任意大小、任意个数的随机整数。

      1,生成0-5之间的10个随机整数   在matlab主窗口中输入round(rand(1,10)*5) 回车





    • 2,生成1个随机整数,命令  round(rand(1,1)*5)  回车
    • 3,生成-5-4之间的10个随机整数  在matlab主窗口中输入   round(rand(1,10)*9)-5  回车

      我们可以看到生成的是在-5到4之间的随机整数!



    • 方法二: randint()

      randint()函数可以生成任意区间任意维数的随机整数矩阵,下面我们就举例验证之.

      1,生成1个5-9之间的随机整数在主窗口中输入 randint(1,1,[5 9])回车

    • 2,生成10个5到20之间的整数在主窗口中输入  randint(1,10,[10 20])  回车

    • 黄色警告的意思是这个函数未来可能会被MATLAB移除,请用rand()函数,当然我们现在不熟悉rand()函数,还可以继续用这个函数。

      3,生成10个-7到15之间的随机整数在主窗口中输入  randint(1,10,[-7 15]) 回车

      结论:randint()函数其实是rand()函数的特殊版本,randint()能够生成的所有整数rand()函数都可以做到,不过需要我们自己去手动进行取整以及区间变换操作,randint()函数用起来方便,但是未来有可能这个函数被删除,所有希望大家也多去了解一下rand()函数。

    展开全文
  • Matlab自带函数randperm(n)产生1到n的整数的无重复的随机排列,利用它就可以得到无重复的随机数。例如:randperm(n):产生一个1到n的随机顺序。>> randperm(10)ans =6 4 8 9 3 5 7 10 2 1randperm(n)源代码:...

    Matlab自带函数randperm(n)产生1到n的整数的无重复的随机排列,利用它就可以得到无重复的随机数。例如:

    randperm(n):产生一个1到n的随机顺序。

    >> randperm(10)

    ans =

    6     4     8     9     3     5     7    10     2     1

    randperm(n)源代码:

    function p = randperm(n);

    %RANDPERM Random permutation.

    % RANDPERM(n) is a random permutation of the integers from 1 to n.

    % For example, RANDPERM(6) might be [2 4 5 6 1 3].

    %

    % Note that RANDPERM calls RAND and therefore changes RAND's state. %

    % See also PERMUTE. % Copyright 1984-2002 The MathWorks, Inc.

    % $Revision: 5.10 $ $Date: 2002/04/09 00:26:14 $

    [ignore,p] = sort(rand(1,n));

    randperm(n)生成无重复整数的原理:

    1. rand(1, n)产生1行n列的0-1之内的随机数矩阵。

    2. sort()把这个矩阵排序,返回的ignore是排序后的序列,p是排序后的序列的各数原来的索引(即位置的编号),这个索引肯定是随机的,而且是在1到n间无重复的整数。

    question:randperm(n)只能产生一个长度为n的且每个数都在1到n之间的随机顺序,我想产生一个长度为m(m<=n)的且每个数都在1到n之间的随机顺序,又该如何呢?

    很简单,可以令p=randperm(n);然后选p的前m个数即可:p(1,m);

    例如:m=3,n=8时

    >> p=randperm(8);

    >> p(1:3)

    ans =

    2     1     6

    当然也可以把上述两步编程为一个子函数randnorepeat(m,n)

    function d=randnorepeat(m,n)

    %生成一列在[1,n]范围内的m个不重复的整数

    p=randperm(n);

    d=p(1:m);

    例如:

    >> d=randnorepeat(5,10)

    d =

    3     2     5     6    10

    附:《Matlab中的几个随机函数》

    rand

    rand(n):生成0到1之间的n阶随机数方阵

    rand(m,n):生成0到1之间的m×n的随机数矩阵

    randint

    randint(m,n,[1 N]):生成m×n的在1到N之间的随机整数矩阵,randint(m,n,N+1)生成m×n的在0到N之间的随机整数矩阵,注:高版本的matlab中将randint改为randi,使用方法为randint([1 N],m,n)

    >> randint(3,4,[1 10])

    ans =

    3    10     4    10

    3     3     2     9

    1     3     3     2

    >> randint(3,4,11)

    ans =

    4     4     3     2

    9     5     0     9

    10     5     6     6

    >> randi([1 10],3,4)

    ans =      8     1     3     7     10     1     5     9      7     1     8     3   randperm randperm(n):产生一个1到n的随机顺序。  >> randperm(5) ans =      4     3     2     5     1

    展开全文
  • Matlab自带函数randperm(n)可以产生1到n的整数的无重复的随机排列,利用它就可以得到无重复的随机数。例如: randperm(n):产生一个1到n的随机顺序。 >> randperm(10) ans = 6 4 8 9 3 5 7 10 2 1 利用生产...

    Matlab自带函数randperm(n)可以产生1到n的整数的无重复的随机排列,利用它就可以得到无重复的随机数。例如:

    randperm(n):产生一个1到n的随机顺序。 
    >> randperm(10)
    ans =
         6     4     8     9     3     5     7    10     2     1

    利用生产的数据提取对应的数组数据,可以打乱数据排列用于深度学习数据训练,例如:

    order = randperm(10);
    nbertrain = 7;% 提取训练和验证数据 70% 训练,30% 验证
    XTrain = data1(order(1:nbertrain));
    YTrain = data2(order(1:nbertrain));
    XValidation = data1(order(nbertrain+1:10));
    YValidation = data2(order(nbertrain+1:10));


    PS:有定制开发、答疑需求,可以QQ联系:1762016542

    展开全文
  • %该函数用来产生不重复的随机整数矩阵 %low—随机整数下界;up—随机整数上界;m,n—随机矩阵维度 %编写函数时的测试数据 if ~nargin  low=1;  up=100;  m=1;  n=20; end s=[]; t=0; while 1  ...
  • matlab生成无重复随机整数的方法 2012-11-23 19:29 35257人阅读 评论(1) 收藏 举报  分类: 编程(28)  Matlab自带函数randperm(n)产生1到n的整数的无重复的随
  • matlab生成不重复的随机整数

    千次阅读 2018-06-03 15:37:20
    matlab经常需要生成不重复的随机整数;如,存在数组A=【1 2 3;6 7 8;14 17 18】,其对应的标签为B = [1;2;3],当我们打乱数组A的顺序时,数组B的顺序需要同步变化。可以通过生成不成重复的随机整数的方式。randperm...
  • 主要用于矩阵排列顺序打乱,随机生成整数1~n范围内的整数。 matrix = randperm(n)%产生一组1-n的整数 matrix = randperm(n, a)%返回一组1-n范围内的a个整数 例子 >> matrix = randperm(10) matrix = 1 8 ...
  • matlab生成随机稀疏数组

    千次阅读 2014-03-14 15:55:17
    函数randi用于生成一定范围内均匀分布的整数 例如:randi([imin imax],m,n)生成m乘以n的矩阵,矩阵中的每一个元素在[imin,imax]内均匀分布, 例如:我要产生1000×1的向量,向量中有25个元素随机生成,其他...
  • 1 致谢 感谢网友科比WILL的帮助, 原文链接如下: ...在做作业的时候遇到一个问题,需要生成一个不大于N的随机整数向量,刚开始想到了rand()函数,不过感觉可能应该有更为简单的方法,所以咨询了一下度娘...
  • matlab开发-线性整数整数生成器。演示获取随机位的基本思想
  • 如果要求不能用ceil(rand())函数 间接地生成一定范围内的随机整数,则可以使用以下几种方案: (比如:产生1到7的随机整数) unidrnd(7), %R = unidrnd(N),产生一个最大值为N的随机正整数R,R为1到N之间; ...
  • MATLAB中randi函数用于产生均匀分布的伪随机整数。 跟上一个博客中介绍的rand的用法区别主要在于第一个入参,此函数的第一个入参表示产生的伪随机整数的最大值。 MATLAB官方介绍链接如下: ...
  • 在编写启发式算法时,经常面临产生随机数的情况...1.matlab生成不重复的随机整数 网址:https://blog.csdn.net/yq_forever/article/details/75093433 使用rand函数生成小数再取整的方法往往会造成数据重复。 ...
  • matlab生成随机数

    2020-12-01 20:31:21
    rand()函数常用来生成0-1之间的随机矩阵,也可以用来生成任意大小、任意个数的随机整数。 [a,b]之间m*n矩阵的随机数 r=a+(a-b)*rand(m,n) 随机整数+round() 二.产生范围内线性递减(递增)的固定个数的随机数 ...
  • Matlab生成数据

    2021-02-18 21:28:03
    Matlab生成数据创建随机数生成可重复的随机数创建随机矩阵/数组 创建随机数 有四种基本随机数函数:rand、randi、randn 和 randperm。rand 函数返回在 0 和 1 之间均匀分布的实数。例如, r1 = rand(1000,1); r1 是...
  • 应用场景:首先说明下自己的应用场景,在图像处理算法中,需要产生0~255随机不重复的整数。在网上找了很多,有C++等各种洗牌算法。但还是觉得matlab的randperm更直接。 代码: 1.在matlab的command window窗口输入...
  • matlab开发-从线性范围生成伪随机变量。rand_int(r,n)返回一个n乘n矩阵,其中包含范围r中的伪随机整数值。
  • 使用unidrnd(N)函数,具体代码如下: 1 >> unidrnd(5) 2 3 ans = 4 5 2 6 7 >> unidrnd(5) 8 9 ans = 10 11 5 12 13 >> unidrnd(5) 14 ...17 ...
  • %生成均匀分布的随机整数,max生成随机整数最大值,生成m行n列的矩阵 编写函数sampling function [x,y,z]=sampling(lowx,upx,lowy,upy,lowz,upz,m,n) %该函数用来产生不重复的随机整数矩阵 %low—随机整数下界;...
  • matlab生成随机数小结

    千次阅读 2017-12-26 16:34:42
    matlab生成随机数的方法: 1.rand():rand()函数一般用来生成0-1之间的随机矩阵,我们也可以利用它来生成我们想要的任意大小的随机整数。 例:round(rand(1,k)*n):生成0-n之间的k个随机数。 不过这个方法生成...
  • [IMIN,IMAX]表示生成的伪随机数为闭区间[IMIN,IMAX]上所有整数 M,N表示生成随机矩阵是M*N维 2*randi([0,1],3,10)-1等价于2*randint(3,10)-1,产生3*10为1与-1的随机矩阵 randint(1,
  • 1 >> randperm(5) 2 3 ans = 4 5 1 3 2 4 5 使用randperm(N)函数 转载于:https://www.cnblogs.com/yuzhuwei/p/4104528.html
  • %%新函数 2*randi([0,1],2,1)-1 等价于老函数 2*randint(2,1...[imin,imax]表示生成的伪随机数为闭区间[imin,imax]上的所有整数 m,n表示生成随机矩阵是m*n维 原文:https://blog.csdn.net/galaxy9064/article...
  • 摘要:生成40个数据对,并作图。 程序如下: figure; set(gcf,'Position',[400,300,200,200]); a1 = 40;...set(axes,'Color',[128/255 128/255 128/255]);... % 随机生成整数型函数 C1 = randi([-100,1
  • Matlab 中有着丰富的随机数生成函数以应用于不同的情景,我一般使用生成随机的 1~N 的整数,但是之前了解的只有 rand 函数,其生成主要为 0 ~ 1 之间的随机数,但是和所预想的有差异。在此进行进行了help 指令,之后...

空空如也

空空如也

1 2 3 4 5 ... 7
收藏数 129
精华内容 51
关键字:

matlab生成随机整数

matlab 订阅