Power Builder - random

 
Vista:

random

Publicado por ale (7 intervenciones) el 17/03/2003 14:24:23
Gracias Oscar por tu respuesta, pero lo que necesito es una funcioón que genere n múmeros aleatorios entre -1 y 1
por ej: -0.2 , 0.7, 0.6 ...
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:random

Publicado por Ricardo (1957 intervenciones) el 17/03/2003 16:26:03
Puedes utilizar el ejemplo de Oscar con numero enteros y al momento de validar si fue 1, 2, 3, etc. le restas diez para que te de negativo y luego entre 10 para convertirlo a negativo en decimal.

Utilizarias una serie del 1 al 11, los valores te los dara invertidos, es decir, si te devuelve 1, sera: 1 - 10 = -9 / 10 = -0.9, pero si te devuelve 9 - 10 sera -1 / 10 -0.1 y en 11 sera 11 - 10 = 1 Aqui ya no lo aplicas.

Bueno espero te esta otra idea te sirva de algo. Un saludo!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

o tambien....

Publicado por eduardo.v (208 intervenciones) el 18/03/2003 03:35:18
puedes concatenar una cadena. Osea usas 2 numeros aleatorios, uno para el entero que lo sacas de la forma en que te explico oscar y otro para el decimal, aqui en el randomize decides cuantos decimales deseas ( si es uno en el randomize pones 9 si es 2, 99 y asi sucesivamente) .luego los conviertes a string, los concatenas en una variable y luego esta variable string lo conviertes a decimal. Espero que te sirva.
Saludos desde Peru
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

otra idea

Publicado por milson cardona (613 intervenciones) el 18/03/2003 15:08:14
Un saludo especial desde COLOMBIA

Bueno, otra idea será tener 2 random, uno de 1 - 100 y otro de 1 - 2, el primero te dará el número entre 0 y 1 si lo divides por 100 y el segundo te dirá si es negativo o positivo

//Definimos las variable
Decimal ldc_numero
Integer li_negativo
Double ldbl_numero_final

randomize(0)
//sacamos un numero aleatorio entre 1 - 100 y la dividimos entre 100
ldc_numero = rand(100) / 100

randomize(0)
li_negativo = rand(2)

//si es li_negativo = 1 pasamos el numero a negativo multiplicandolo por -1
IF li_negativo = 1 THEN
ldbl_numero_final = ldc_numero * (-1)
END IF

espero que te sirva de ayuda
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:otra idea

Publicado por ale (7 intervenciones) el 18/03/2003 18:18:57
gracias a todos por sus respuestas, fueron de mucha ayuda
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:otra idea

Publicado por Ricardo (1957 intervenciones) el 18/03/2003 22:17:16
Despues de todo, dinos, como quedo ?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

final

Publicado por ale (7 intervenciones) el 19/03/2003 04:49:18
esto es una parte de como quedo, utilize las ideas de varios
for n=1 to t
Randomize(0)
g=Rand(2)

Choose Case g
Case 1
numero=-1
Case 2
numero=1
End Choose

Y1= rand (101)
x1= rand (101)

if y1=101 then
y1=0
else
y1= (y1/100)
end if

if x1=101 then
x1=0
else
x1= (x1/100)*numero
end if
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar