|
E' sorto un altro problema; pensavo che una volta trovata una formula analitica per il calcolo il gioco fosse finito.
Ho provato a tradurre in C++ la funzione che ho riportato sopra nel modo più ovvio, ossia:
*****************************************
long double normale(float x) {
long double sum=0;
for(i=0; i<=15; i++)
sum=sum+(pow(2,-i)*pow(x,2*i+1)*pow(-1,i))/((2*i+1)*fatt(i));
return sum/sqrt(1/(2*3.1415926)); }
*****************************************
..che traduce la formula. Ma i valori ottenuti non sono soddisfacenti: la stessa equazione, in Derive, dà un risultato mooolto migliore.
Ho provato allora ad eliminare il ciclo FOR, espcitando la sommatoria e scrivendo esplicitamente i coefficienti. In questo modo i valori sono nettamente più simili a quelli di Derive, ma non oltre x=0.7. Considerando che la normale è praticamente costante dopo x=3.7.... non ci siamo ancora.
Come posso tradurre in C++ la formula dell'immagine in modo decente?????
Grazie dell'aiuto!
__________________
Athlon FX-53 / MSI K8N Neo2 Platinum / Corsair TwinX 1024 XL / 2 x WesternDigital Raptor 74GB - RAID 0 / Gainward PowerPack! 2200 GeF. 6800 256MB / Pioneer DVR-108 / LiteOn LTR-52327S / Enermax 550W / HP P1100 21" CRT
|