How to generate just one random number in every iteration of for loop?

9 ビュー (過去 30 日間)
hamed
hamed 2014 年 7 月 27 日
コメント済み: hamed 2014 年 7 月 27 日
I want to generate n random number in a For loop from 1:n. But, every time as the loop iteration increase the number of generated points would increase as well. I need to generate just one pair(x,y) random number in every iterations.
For i=1:10;
%generate a random x,y
x(i)=rand(1)
y(i)=rand(1)
if x(i)<0.01 && y(i)<0.5
%generate another random x,y and make comparison again
x(i)=rand(1)
y(i)=rand(1)
return
end
end
%For example when i=4 this code generate 4 random x,y which is not my favorite i want just another single x,y

採用された回答

Image Analyst
Image Analyst 2014 年 7 月 27 日
I think you want
if x(i) < 0.01 && y(i) < 0.5
instead of
if x<0.01 && y<0.5
  4 件のコメント
dpb
dpb 2014 年 7 月 27 日
If perhaps I read between the lines maybe I finally begin to get the underlying question -- if you write (no loop, no nothing already in existence)
k=2;
x(k)=rand(1);
the resulting length(x) will be 2 because Matlab doesn't have variable lower indices on arrays - it will fill in x(1)=0 in the above. There aren't two random values, only one of those, but the size(x) will reflect the upper bounds of the array index used.
If that is the symptom of which your complaining, don't create the index at all--if it's only one value you don't need an array at all, anyway; just use
x=rand(1);
overwriting the previous value.
Other than that I have no klew what the complaint is; try again if that isn't it.
hamed
hamed 2014 年 7 月 27 日
You are right.Thank you very much...

サインインしてコメントする。

その他の回答 (1 件)

dpb
dpb 2014 年 7 月 27 日
Not as long as you don't write the code that way it won't...
doc rand
  3 件のコメント
Image Analyst
Image Analyst 2014 年 7 月 27 日
Did you see my answer?
hamed
hamed 2014 年 7 月 27 日
編集済み: hamed 2014 年 7 月 27 日
yes,But for example if k=2 this loop generate two number. I want just one random number in each iteration...

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeLoops and Conditional Statements についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by