Decimal random number generator

조회 수: 138(최근 30일)
sita 2013년 1월 25일
편집: Thorsten 2015년 10월 26일
I want to generate a random number generator 0 to 1 should include values with ten decimal points.As default i get only 4 decimals.
Thanking You,
  댓글 수: 1
Jan 2013년 1월 28일
Where did all the comments go? Did you delete them? If so, why? Without them our answers looks a little bit unmotivated, not to say lunatic. Therefore removing important data from a thread is not wanted.

댓글을 달려면 로그인하십시오.


Sachin Ganjare
Sachin Ganjare 2013년 1월 25일
편집: Jan 2013년 1월 25일
out = rand(1, 1);
decimal_out = floor(out * 100000000);
decimal_out = decimal_out\100000000;
  댓글 수: 2
Thorsten 2015년 10월 26일
편집: Thorsten 2015년 10월 26일
Your're right, that's a typo, must read /. Of course you can do it more efficiently in one line (for example, to generate a row vector of four random values):
x = floor(rand(1,4)*1e10)/1e10;

댓글을 달려면 로그인하십시오.

Jan 2013년 1월 25일
What about using rand() directly, because it satisfies: at least 8 decimal digits already?
  댓글 수: 1
Jan 2013년 1월 25일
편집: Jan 2013년 1월 25일
The limitation to 4 digits appears in the command line only, see: help format.
format long g
Although I assume your code is just an abbreviated example, I recommend not to use "min" and "max" as names of variables, because this shadows frequently used Matlab commands.
However, I still do not understand your question. What does "fixing the number of decimal points" mean? RAND does reply values like 0.00000000001 also, so what is the problem.

댓글을 달려면 로그인하십시오.

Evgeny Pr
Evgeny Pr 2013년 1월 25일
편집: Evgeny Pr 2013년 1월 25일
Do you have the distribution law for pseudo-random numbers for your problem? You can use RAND function for generate uniformly distributed numbers and define its non-linear (or linear) transformation function:
numbers = rand(10);
transformedNumbers = transform_function(numbers);

Community Treasure Hunt

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

Start Hunting!

Translated by