nejaušās atlases skaitļu ģeneratora šaubas C

C

cedance

Guest
hi,

Es jau lūdza paaudzes izlases skaits paaudzes C valodā.Bet i HAV dažādu problēmu tagad.

ja mēs izmantojam komandu srand (neparakstīts (laiks (NULL))) tā taisnība, ka man nejaušu skaitļu iegūti, pamatojoties uz laiku, un tā i HAV iespēja saņemt nejaušu skaitļu bettr nekā tad, ja i izmantot srand (daži numurs) vai non lietošanas srand funkciju vispār.

bet, manā programmā, man ir, lai radītu nejaušības numuru un veikt funkcijas, un pēc tam ģenerēt izlases numuru uzreiz pēc funkcija izpaužas aprēķināto vērtību ...kas notiek, ir, man to pašu izlases numurs tiek ģenerēts, jo laiks, kas nepieciešams, lai aprēķinātu funkcijas o / p ir gandrīz nenozīmīgs un tā laiks (NULL), ir praktiski vienāda vērtība.Man vajag, lai radītu izlases numurus, lai ātri un aprēķināt to pašu funkciju.Kā es varu darīt?ja neizmanto iebūvēta funkcija C, gremoklis u liecina man saiti vai kods, kas tas.Es arī redzēju ciparu receipes C, bet šķiet, ka nejaušu skaitļu radīto r nepārliecina tā, kā o / p ievada (kā gadījumā binomiālu novirzās vai parastā atšķiras) vai tā ir pārāk diffuicult saprast un prasībām ievade un lietotāja funkcijas kas jāraksta (kā gadījumā ar adaptīvo Mone-Karlo metodi).

PLS liecina mani vienkārši vēl labs nejaušās atlases skaitļu ģeneratora vai man palīdzēt, izmantojot inbuilt funkciju C pats par sevi.Paldies.

/ Cedance

 
srand () neatgriež vērtību.Jums ir domāt zvanīt srand () vienreiz sēklas (inicializēt) nejaušās atlases skaitļu ģeneratora un pēc tam zvana rands () vairākas reizes, lai iegūtu nejaušu skaitļu pamatā, lai sēklas.

Vairumā C kompilatori, rands () ir ātri, bet ne augstu kvalitāti.Ja Jums ir nepieciešama augstas kvalitātes izlases numurus, meklēt Google tīmekļa vietnes veltīta izlases numuru ģeneratori.
Pēdējo reizi laboja echo47 par 2 novembris 2005 20:01; rediģēts 1 reizi kopā

 
echo47,

Es zināju, ka es HAV izmantot rands ().i bija noraizējies apm sēklu vērtība, kas ir būtiska nejaušības.un es esmu arī meklē nejaušības ģeneratoru, izmantojot Google.Es domāju, gremoklis meklēt līdzīgus palīdzēt ar kodu vai algoritmu, kas WÜD labu man vairāk googling.

/ Cedance

 
Jūs varētu mēģināt "lfsr izlases ģenerators" Google.

Es lietoju LFSR izlases genartors ar labu veiksmi, bet kā jūs jau rakstīja "labs" sēklas vērtība nav tik viegli atrast.

ceru, ka tas palīdz

 
Getting labu sēklu atkarīgs no jūsu operētājsistēmas un aparatūras.Ko jūs lietojat?

Labākā metode, iespējams, termiskā trokšņa ģenerators savienots ar A / D pārveidotājs.

Dažas programmas izmanto CPU pulksteni cikla skaitītājs, piemēram, izmantojot Pentium's RDTSC opcode.Tā stāsta jums skaits x GHz pulksteņus, jo dators booted - liels ātri mainīgā numuru.

 
hi guys,

u HAV puiši hav aizgājusi pārāk tālu ar aparatūru.man bija manas šaubas slīpi uz programmatūru, kas arī saskaņā ar C. es atklāju problēmu un risina to ...un tā ka, srand (...) shud piešķir tikai vienu reizi progrma pat ja u HAV daudz H failus un attiecīgo C failus ...i jus izņemt visām pārējām srand () deklarācijām un tā strādāja fine.thks par ur ierosinājumus tu.

/ Cedance

 

Welcome to EDABoard.com

Sponsor

Back
Top