Numero randomico de -0.9 a 0.9

5 respostas
tlink.k

Olá
pessoal eu tentei procurar mas não consegui encontrar muitas coisas pra me ajudar… embora isso seja uma coisa simples…

eu usei o seguinte metodo, mas ele só joga valores 0 a 0.9 por exemplo

float num =  (float) ( Math.random() * 0.9 );

teria como fazer algo que me retornasse um valor de -0.9 a 0.9??

obrigado

5 Respostas

Alexandre_Saudate
float num = (float)((Math.random() * 0.9) - (Math.random() * 0.9));
Aldrin_Leal

tlink.k:
Olá
pessoal eu tentei procurar mas não consegui encontrar muitas coisas pra me ajudar… embora isso seja uma coisa simples…

eu usei o seguinte metodo, mas ele só joga valores 0 a 0.9 por exemplo

float num =  (float) ( Math.random() * 0.9 );

teria como fazer algo que me retornasse um valor de -0.9 a 0.9??

Deixa pensar. Aliás, vou pegar meus livros da quinta série de matemática.

Ok, achei. Que tal:

float num = (float) (-0.9 + 1.8f * Math.random());
tlink.k

asaudate:
float num = (float)((Math.random() * 0.9) - (Math.random() * 0.9));

Obrigado “asaudate”, funcionou!

e ao Dr. Matemático Aldrin Leal,
eu só estudei até a quarta série!!!

coisa feia cara, atitude pior que de uma criança

T

Se você precisa de números com distribuição uniforme entre -0.9 e +0.9 (ou seja, se você plotar milhares de números obtidos com essa fórmula, o gráfico forma um retângulo). você tem de usar a fórmula do Aldrin Leal mesmo.

Se você somar 2 números aleatórios com distribuição uniforme, como foi sugerido pelo asaudate, o resultado não terá uma distribuição uniforme. O gráfico terá o formato de um pentágono, e o valor mais freqüente estará próximo de 0.0.

tlink.k

Obrigado “thingol”

isso eu não sabia…

e desculpa pelas palavras anteriores…

Até

Criado 22 de abril de 2008
Ultima resposta 23 de abr. de 2008
Respostas 5
Participantes 4