matlab 如何对一个矩阵如一个1000×1,随机取出10个元素(这些元素可以是连续的)并赋值为-100的问题

答案可以是:A=zeros(1000,1);R=round(0.5+999.5*rand(10,1));A(R)=-100运行可以满足要求但是对一个10000×1的矩阵,... 答案可以是:
A=zeros(1000,1);
R=round(0.5+999.5*rand(10,1));
A(R)=-100
运行可以满足要求
但是对一个10000×1的矩阵,想取出1000个元素,实际运行却不是1000个元素,请问写第二句话的规则是什么,能详细说明一下吗?谢谢
展开
 我来答
百度网友a536a36
2013-03-23 · TA获得超过4479个赞
知道小有建树答主
回答量:534
采纳率:100%
帮助的人:279万
展开全部

你那个rand虽然产生的是随机数,既然是随机数,那么两次产生的结果就可以相同。


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


N=100;

A=zeros(1000,1); 

R=randperm(1000);

R=R(1:N);

A(R)=-100



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

更多追问追答
追问
您好,你这种方法可以保证产生1000个-100的值,但是我发现这1000个数是间隔的,没有连续的。可不可以反应一种更普遍的状况,缺失的数据中,既可以有单个的数,也可以是连续的几个或者多个数
追答
什么叫间隔的?连续的?什么又是单个的?什么又是缺失数据?
tkdwcfk22718
2013-03-23
知道答主
回答量:2
采纳率:0%
帮助的人:2.7万
展开全部
刚才的KASIMOK被删贴了 bai度~抽风 代码在你的私信里面有的
追问
对不起,虽然您也不吝赐教,但是还是那个回答更简单有效,金币只有一份,只能给他了。但是还是非常感谢您。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式