24小时热门版块排行榜    

查看: 1162  |  回复: 7
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

harp

木虫 (正式写手)

[求助] 求助随机生成数据的问题

比如有a,b,c,d,e,f等6个变量,已知它们的取值范围
70<=a=<90
5<=b=<15
1<=c=<10
0<=d=<5
0<=e=<1
0<=f=<0.5

且要求a+b+c+d+e+f=100

请高手赐教如何编一个高效的matlab程序生成100组这样的数据?
我编了一个,但是效率太低。小弟数学很差,高考不及格
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

harp

木虫 (正式写手)

引用回帖:
Originally posted by lds588 at 2011-06-23 21:26:04:
function A=zrand(n)
A=zeros(n,6);
for i=1:n
    a=0;
    while (a<70)||(a>90)
        f=0.5*rand;
        e=rand;
        d=5*rand;
        c=1+9*rand;
        b=5+10*rand;
      ...

还请教一下,while循环的判断依据是a=100-b-c-d-e-f的值吧?
5楼2011-06-24 09:13:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

harp

木虫 (正式写手)

引用回帖:
Originally posted by lds588 at 2011-06-24 19:15:14:
不好意思 看错了 您说的判断 a=~~~~ 是对的~~~
呵呵

谢谢哈~~
8楼2011-06-25 09:29:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 harp 的主题更新
信息提示
请填处理意见