永发信息网

【Matlab】怎样随机产生几个数,且这几个数满足一定的条件?具体描述见下:

答案:2  悬赏:30  手机版
解决时间 2021-01-13 21:19
  • 提问者网友:且恨且铭记
  • 2021-01-13 01:51
使用matlab怎样随机产生5个数,且满足一下条件:

a+b+c+d+e=69
1=1=1=1=1=哪位可以帮忙实现一下。谢谢
最佳答案
  • 五星知识达人网友:零点过十分
  • 2019-03-09 01:58
T = 69;
Min1 = 1;
Min2 = 1;
Max1 = 31;
Max2 = 24;

DE = randi([Min2 Max2],2,1);

while 1
LeftOver = T - sum(DE);
ABC = [];
for i = 1:2
ABC = [ABC;randi([Min1 ((LeftOver-1)>Max1)*Max1+(LeftOver-1<=Max1)*(LeftOver-1)],1)];
LeftOver = LeftOver - ABC(end);
end
if LeftOver <= Max1 % 防止最后一个随机数过大
break;
end
end

ABC = [ABC; LeftOver];
Result = [ABC;DE];
全部回答
  • 1楼网友:老鼠爱大米
  • 2020-11-14 01:05
提供个思路:随机选取1-35之间的5个,第六个个用36减去前几个之和,加个条件判断下,如果第六个是正的话,合适。如果是负数,重新得到前5个随机数。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯