Matlab产生随机数问题:a=[1:2:19,31:2:49],怎么从a中随机产生7个数??

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Matlab产生随机数问题:a=[1:2:19,31:2:49],怎么从a中随机产生7个数??相关的知识,希望对你有一定的参考价值。

用的是randint(1,7,[...])这个函数,可是不行,[]中不能用a的方式表达,那位会。。指导一下。。

参考技术A 只要a是向量,就可以这么用:

[~, select] = crossvalind('LeaveMOut', length(a), 7);
a7 = a(select);
参考技术B a = [1:2:19,31:2:49];
b = randperm(size(a,2));
R = a(b(1:7))本回答被提问者采纳
参考技术C a(randperm(length(a),7))

MATLAB SQUEEZE函数的用法

  1. matlab中squeeze函数用于删除矩阵中的单一维(Remove singleton dimensions),比如执行下面的代码,随机产生一个1x2x3的矩阵A,然后squeeze(A)将返回一个2x3的矩阵,将第一维却掉(因为第一位大小为1):
  2. A=rand(1,2,3)
  3. squeeze(A)
  4. 2

    又比如:

    A=rand(1,2,3)

    squeeze(A)

  5. 3

    又比如产生随机产生一个3x1x1x2的矩阵,在调用squeeze函数,第二维和第三维将去掉,结果是一个2维矩阵:

     A=rand([3 1 1 2])

    squeeze(A)

  6. 4

    但是squeeze函数对二维矩阵没有影响,包括行向量,列向量和标量,比如:

    A=rand([4 1])

    squeeze(A)

  7. 5

    比如:

    A=rand([1 4])

    squeeze(A)

  8. 6

    比如:

    squeeze(2.334)

    END

以上是关于Matlab产生随机数问题:a=[1:2:19,31:2:49],怎么从a中随机产生7个数??的主要内容,如果未能解决你的问题,请参考以下文章

MATLAB如何产生随机信号?

matlab 如何产生power law分布的随机数

怎么在matlab中生成一个随机的强联通图

MATLAB SQUEEZE函数的用法

MATLAB如何把n个数不重复地随机分为m组

如何用matlab生成一个随机的三维坐标