【问题标题】:create two random numbers, depending on each other (while in for loop)创建两个随机数,相互依赖(在 for 循环中)
【发布时间】:2017-10-14 03:28:18
【问题描述】:

我想创建两个随机数,它们之间的距离不是太远,但也不相等……但也许先看代码:

for N=1:10
a=rand(); 
b=rand(); 
while abs(a-b) < 0.15 && abs(a-b) > 0.1
    b=rand();
end 
m1(N)=a; 
m2(N)=b; 

... 这个想法是,a 和 b 成为随机数,稍后在用于定义两个数字的暗度的 for 循环中。这些不应该是黑白的,也不太容易区分。实验进行了 10 次试验,刺激强度应保存在向量 m 中。我的问题是,我试图确保颜色在 while 循环中相互匹配,但是当我需要它们时,我在那里设置的值没有在 for 循环中使用......

那么你们能给我一个提示,我可以在 for 循环中使用 while 循环的 a 和 b 吗? 或者你有什么其他想法我可以如何处理它,我随机设置 a 并且 b 也随机设置,但不大于 .15 或小于 .1 作为 a?

非常感谢您的帮助!

【问题讨论】:

  • 你在用matlab吗?
  • 哦抱歉,是的,我正在使用 MATLAB!

标签: loops random numbers intervals


【解决方案1】:

您可以使用两个单独的随机值来定义随机值的范围

for(int i=0;i<10;i++){

    do{
          a=rand();

     }while(a<0||a>10);

    do{
          b=rand();

     }while(b<100||a>120);

   }

这里ab的随机值的范围在于while条件。 您应该检查所需组合的不同值以区分暗度差异。

我用 C 编写了代码块,因为我不知道您使用的是哪种语言。但无论如何您都可以转换。

【讨论】:

  • 谢谢!但我认为这在 Matlab 中不起作用,或者至少我不知道如何在那里做。对不起,我忘了写我正在使用 Matlab :(
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-09-18
  • 1970-01-01
  • 2013-10-21
  • 1970-01-01
  • 2020-11-30
  • 2012-12-22
  • 2010-11-11
相关资源
最近更新 更多