Generating random number within a specific range (0.5-1.5)


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Generating random number within a specific range (0.5-1.5)
# 8  
Old 04-03-2009
As pludi mentioned in the second post on this thread - you have to do it yourself.
As an alternative (which might be 'good enough' - but I doubt it with 1ms frequency), use the Search function of these forums to see other threads addressing 'randomness'.

All in all, a 1ms frequency I'd say is a bit too much for the scripting paradigm.
# 9  
Old 04-03-2009
Quote:
My script will be using the random command sometimes a few times within one second and having the same result each time is not an option..
How come you didn't say that in your first post? Nobody here can read your mind. If you want unique random numbers then that is a different situation that just random numbers. And since the amount of numbers between .5 and 1.5 is very limited you should say how many random numbers you want, otherwise all you have to do is shuffle the list of numbers in a random way and not create a list of random numbers.

Edit: never mind, I didn't read your last post that showed your usage requirements. Shuffling a list of numbers will not work for your requirements.

Last edited by KevinADC; 04-03-2009 at 02:56 PM..
# 10  
Old 04-04-2009
Hi.

Here is one method:
Code:
#!/usr/bin/env bash

# @(#) s1       Demonstrate obtaining vector of truly random values.

echo
set +o nounset
LC_ALL=C ; LANG=C ; export LC_ALL LANG
echo "Environment: LC_ALL = $LC_ALL, LANG = $LANG"
echo "(Versions displayed with local utility \"version\")"
version >/dev/null 2>&1 && version "=o" $(_eat $0 $1) awk qrandom
set -o nounset

echo
echo " Results, 0-1:"
qrandom 10

echo
echo " Results, 0.5 - 1.5:"
qrandom 10 |
awk '
{ t = $0 + 0.5 ; printf("%.2f\n",t) }
'

exit 0

Producing a sequence (0,1) and (.5,1.5):
Code:
% ./s1

Environment: LC_ALL = C, LANG = C
(Versions displayed with local utility "version")
OS, ker|rel, machine: Linux, 2.6.11-x1, i686
Distribution        : Xandros Desktop 3.0.3 Business
GNU bash 2.05b.0
GNU Awk 3.1.4
qrandom (local) 1.0

 Results, 0-1:
0.4673012
0.7736701
0.9535608
0.1947628
0.8967344
0.4138898
0.9485450
0.6075562
0.9707173
0.2477338

 Results, 0.5 - 1.5:
1.27
0.57
1.00
1.01
1.26
1.47
0.63
0.84
0.92
0.91

The random number vector is obtained from an Internet service:
Quote:
We use 'Quantum Random Bit Generator' (QRBG121), which is a fast non-deterministic random bit (number) generator whose randomness relies on intrinsic randomness of the quantum physical process of photonic emission in semiconductors and subsequent detection by photoelectric effect.

More at: Quantum Random Bit Generator Service
Best wishes ... cheers, drl
# 11  
Old 04-05-2009
Quote:
Originally Posted by vgersh99
All ksh arithmetic is integer.

ksh93 does floating point arithmetic:

Code:
$ for n in 1 2 3 4 5 
> do
>  echo $(( ($RANDOM % 11 + 5) / 10. ))
> done
0.6
0.5
1.2
1.1
1.4

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Generating a POSIX random number?

Hi Guys and gals... As you know I am getting to grips with POSIX and hit this stumbling block. Generating two random numbers 0 to 255 POSIXly. Speed in not important hence the 'sleep 1' command. I have done a demo that works, but it sure is ugly! Is there a better way? #!/bin/sh # Random... (12 Replies)
Discussion started by: wisecracker
12 Replies

2. Shell Programming and Scripting

Generating a Random String of 'n' length

Hi, How can I generate a string of random characters (alpha+numeric) of a particular length ? For e.g. for n=5, output = 'kasjf' n=10, output = 'hedbcd902k' Also, please let me know if random (valid) dates could also be generated. Thanks (7 Replies)
Discussion started by: rishigc
7 Replies

3. Shell Programming and Scripting

Random number generating script?

Having a hard time with this. Very new to scripting and linux. Spent all sunday trying to do this. Appreciate some help and maybe help breaking down what the syntax does. Create a Bash program. It should have the following properties • Creates a secret number between 1 and 100 i. The... (3 Replies)
Discussion started by: LINUXnoob15
3 Replies

4. Shell Programming and Scripting

Generating Random Number in certain range

Hi there I am trying to generate a random number between 40 and 70 using the shell here is my code so far and it keeps going above 70. all help much appreciated! comp=$(( RANDOM%70+40 )) echo $comp (4 Replies)
Discussion started by: faintingquiche
4 Replies

5. Shell Programming and Scripting

[Solved] Help with random pick 1000 number from range 1 to 150000

Hi, Do anybody knows how to use awk or any command to random print out 1000 number which start from range 1 to 150000? I know that "rand" in awk can do similar random selection. But I have no idea how to write a code that can random pick 1000 number from range 1 to 150000 :confused: ... (1 Reply)
Discussion started by: perl_beginner
1 Replies

6. Programming

Generating Random Number in Child Process using Fork

Hello All, I am stuck up in a program where the rand functions ends up giving all the same integers. Tried sleep, but the numbers turned out to be same... Can anyone help me out how to fix this issue ? I have called the srand once in the program, but I feel like when I call fork the child process... (5 Replies)
Discussion started by: manisum
5 Replies

7. Shell Programming and Scripting

Unix random number generate in given range

Hi All, I have extracted some report from database for few activities done. Now I have a requirement to add some random time(In range of 10-35) in front of each activity. Can be generated random numbers in any bash/sh shell within a given number range, let's say in between 10-30. ... (10 Replies)
Discussion started by: gr8_usk
10 Replies

8. Programming

C Help; generating a random number.

Im new to C, and Im having a hard time getting a random number. In bash, I would do something similar to the following to get a random number; #!/bin/bash seed1=$RANDOM seed2=$RANDOM seed3=$RANDOM SEED=`expr $seed1 * $seed2 / $seed3` echo ${SEED%.*} Now, in online examples... (4 Replies)
Discussion started by: trey85stang
4 Replies

9. Programming

generating 16 digit random number in C

Hi, How can we generate 16 digit random nos in C. (10 Replies)
Discussion started by: ajaysahoo
10 Replies

10. Shell Programming and Scripting

Generating random numbers

Hi, I am having trouble with generating random numbers. can this be done with awk? So I have a file that looks like this: 23 30 24 40 26 34 So column1 is start and column2 is end. I want to generate 3 random #'s between start and stop: So the output will look like this: ... (9 Replies)
Discussion started by: phil_heath
9 Replies
Login or Register to Ask a Question