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

如向量a=[2,4,6,8,10],现在要求从这5个元素中随机抽取一个,求程序

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(...)就是你题目要求得到的内容。
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2018-04-12
a(unidrnd(5)) %unidrnd(N),随机产生一个最大值为N的正整数
第2个回答  2011-01-07
matlab貌似没有现成的函数

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

在matlab软件中如何对于一个向量中随机抽取其中的一个元素
a= ceil(b*rand(1,1));C(a)即为随机抽取的元素

MATLAB里面怎么提取一个行向量的某几列元素?
首先,打开MATLAB,创建一个矩阵,例如a=[146;789],这将创建一个2x3的矩阵。接着,通过reshape函数将其转换为行向量。输入b=reshape(a,1,6),这里的1表示行数,6表示元素总数,这会将矩阵a的元素展平成一个1行6列的行向量。执行这个命令后,你会看到矩阵a已经被转换成了行向量,显示在屏幕上。

matlab中怎样踢出一个向量中的某些元素?比如说,A=[1,2,3,4,5,6],B...
2种方法,建议直接语句 直接语句 A=[1,2,3,4,5,6];B=[2,3,5];C=setdiff(A,B)一般逻辑 A=[1,2,3,4,5,6];B=[2,3,5];C=A(ismember(A,B)==0)

MATLAB里面怎么提取一个行向量的某几列元素?
1、首先在电脑中打开matlab,命令行窗口输入a=[1 4 6;7 8 9] ,创建矩阵,如下图所示。2、输入b=reshape(a,1,6),将a矩阵变成行向量,其中1是1行,6是a矩阵的元素个数,如下图所示。3、按回车键之后,可以看到a矩阵已经变成行向量了,如下图所示。4、然后输入b=[a(1,:),a(2,:)]...

matlab中如何随机抽取向量中非零元素中的一个
x为向量 a=0;while a==0 i=round(rand(1,1)*length(x)+0.5);if x(i)~=0 a=x(i);end end

matlab从一组向量中按要求提取某些数值,同时返回位置和数值。
function [xnum,xloc]=findele(x)n=length(x);for i=1:n if(x(i)>3)xnum(i)=x(i);xloc(i)=i end end

matlab 向量中的元素提取
就是每一个x就对应三个r 五个x对应15个r 设r是3*5的矩阵 clear x=[2 3 5 7 9];r=zeros(3,5);for i=1:5 p=[2 0 8 x(i)];pp=poly2sym(p);r(:,i)=double(solve(pp,'x'));end r r = -0.2463 -0.3630 -0.5770 -0.7637 -0.9263 0.1231 - 2.01...

弱问Matlab怎样取向量的一个元素
>> A=[1 2 3;4 5 6;7 8 9];>> A(3,3);%表示矩阵A的第三行第三列个元素

Matlab Function输入为一个向量时,应该怎么在函数中引用向量中的元素呢...
使用MATLAB Function 时需要注意,在多个输入和多个输出时,可以采用以下方法 函数名默认为fcn 输出为sys;然后定义输出的维数(比如输出为两个,可定义 sys = [0;0];)然后在最后输出时,可以将输出的实际变量赋给sys, 比如你这个可以定义为 sys = [x1;x2];我刚才测试过,完美运行。

相似回答