matlab 中如何在一个向量中随机抽取一个元素

来自:    更新日期:早些时候
在matlab软件中如何对于一个向量中随机抽取其中的一个元素~

b是向量长度
a= ceil(b*rand(1,1));
C(a)即为随机抽取的元素

a(uint16(rand
*
(length(a)
-
1)
+
1))
其中:
rand
生成一个[0,
1]
之间的随机实数。
length(a)
-
1
是a的元素个数减去1。
rand
*
(length(a)
-
1)
+
1把这个随机数变为
[1,
a的元素个数]
之间的随机实数。
uint16(...)把这个实数转化为无符号16位整数,当然你用int16或者uint32等等也行,总之必须满足数组下标是整数类型的要求。
最后a(...)就是你题目要求得到的内容。

a(uint16(rand * (length(a) - 1) + 1))
其中:
rand 生成一个[0, 1] 之间的随机实数。
length(a) - 1 是a的元素个数减去1。
rand * (length(a) - 1) + 1把这个随机数变为 [1, a的元素个数] 之间的随机实数。
uint16(...)把这个实数转化为无符号16位整数,当然你用int16或者uint32等等也行,总之必须满足数组下标是整数类型的要求。
最后a(...)就是你题目要求得到的内容。

a(unidrnd(5)) %unidrnd(N),随机产生一个最大值为N的正整数

matlab貌似没有现成的函数


matlab 中如何在一个向量中随机抽取一个元素视频

相关评论:

相关主题精彩

版权声明:本网站为非赢利性站点,内容来自于网络投稿和网络,若有相关事宜,请联系管理员

Copyright © 喜物网