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函数的用法
-
matlab中squeeze函数用于删除矩阵中的单一维(Remove singleton dimensions),比如执行下面的代码,随机产生一个1x2x3的矩阵A,然后squeeze(A)将返回一个2x3的矩阵,将第一维却掉(因为第一位大小为1):
-
A=rand(1,2,3)
-
squeeze(A)
-
又比如:
A=rand(1,2,3)
squeeze(A)
-
又比如产生随机产生一个3x1x1x2的矩阵,在调用squeeze函数,第二维和第三维将去掉,结果是一个2维矩阵:
A=rand([3 1 1 2])
squeeze(A)
-
但是squeeze函数对二维矩阵没有影响,包括行向量,列向量和标量,比如:
A=rand([4 1])
squeeze(A)
-
比如:
A=rand([1 4])
squeeze(A)
-
比如:
squeeze(2.334)
END
以上是关于Matlab产生随机数问题:a=[1:2:19,31:2:49],怎么从a中随机产生7个数??的主要内容,如果未能解决你的问题,请参考以下文章