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(...)就是你题目要求得到的内容。
b是向量长度
a=
ceil(b*rand(1,1));
c(a)即为随机抽取的元素