Bonjour,

je calcule une valeur gaussienne de la manière suivante :
Code java : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
private double gaussian(double x, double y, double sig)
	{
	return Math.exp(-(x*x+y*y)/(2*sig*sig)) / (2.0*Math.PI*sig*sig) ;
	}
Seulement cette fonction est appelées des millions de fois, donc je souhaiterai savoir s'il n'y a pas un moyen plus rapide de faire le calcul. Bon à vrai dire je serai surpris que oui.

J'avais pensé à :
- pré-calculer des valeurs, mais les paramètres x, y et sig sont TRES variables.
- faire des approximations car si x et y sont grands, le résultat est quasi nul.

Merci par avance...


PS : quelle est la complexité de la fonction Math.exp() ?
En gros, est elle très gourmande en terme de CPU ?