matlab 如何对一个矩阵如一个1000×1,随机取出10个元素(这些元素可以是连续的)并赋值为-100的问题答案可以是:A=zeros(1000,1); R=round(0.5+999.5*rand(10,1)); A(R)=-100运行可以满足要求但是对一个10000×

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/16 22:40:40

matlab 如何对一个矩阵如一个1000×1,随机取出10个元素(这些元素可以是连续的)并赋值为-100的问题答案可以是:A=zeros(1000,1); R=round(0.5+999.5*rand(10,1)); A(R)=-100运行可以满足要求但是对一个10000×
matlab 如何对一个矩阵如一个1000×1,随机取出10个元素(这些元素可以是连续的)并赋值为-100的问题
答案可以是:
A=zeros(1000,1);
R=round(0.5+999.5*rand(10,1));
A(R)=-100
运行可以满足要求
但是对一个10000×1的矩阵,想取出1000个元素,实际运行却不是1000个元素,请问写第二句话的规则是什么,

matlab 如何对一个矩阵如一个1000×1,随机取出10个元素(这些元素可以是连续的)并赋值为-100的问题答案可以是:A=zeros(1000,1); R=round(0.5+999.5*rand(10,1)); A(R)=-100运行可以满足要求但是对一个10000×
你那个rand虽然产生的是随机数,既然是随机数,那么两次产生的结果就可以相同.



使用下边的程序,其中randperm是进行一个1到1000的随机排列,取出前N个之后操作,就相当于随机取了N个元素.你可以测试一下.


N=100;
A=zeros(1000,1); 
R=randperm(1000);
R=R(1:N);
A(R)=-100




下图是测试的是N=10的结果: