Comment résoudre une intégrale en Java?
J'ai besoin de développer un programme en Java pour résoudre des intégrales. Intégrales comme ceci:
J'ai cherché quelques fonctions pour le faire, en java.En maths mais je n'ai pas trouver quoi que ce soit.
Quelqu'un A une idée pour trouver une solution pour cela? (peut-être quelques bibliothèques supplémentaires ou quelque chose comme ça)
Merci beaucoup!!
26
5 answers
L'article de Wikipedia sur l'intégration numérique contient une section sur les méthodes pour les intégrales unidimensionnelles.
Vous ne devriez avoir aucun problème à implémenter la règle "trapézoïdale" ou "rectangle".
16
Author: adamse, 2017-04-05 19:21:39
La bibliothèqueApache Commons Math contient, dans la section Numerical Analysis, quatre intégrateurs numériques différents:
- Méthode de Romberg
- Méthode de Simpson
- méthode trapézoïdale
- Méthode de Legendre-Gauss
11
Author: Greg Hewgill, 2010-08-01 11:53:04
Découvrez la Règle de Simpson sur Wikipédia.
2
Author: Will A, 2010-08-01 11:28:07
/* Petit programme qui calcul numériquement une intégrale selon l'algorithme de Simpson.
Avant de l'executer, il faut entrer:
- l'expression de la fonction f: ligne 12;
- les bornes inférieure a et supérieure b de l'intégrale: lignes 39 et 40;
- le nombre de mesures n (n est entier!!!): ligne 41.
------------------------------------------------------------------------------------------------------ */
class Fonction{ //Classe fonction: definit fonction et Simpson
double f (double x) { //DEFINIR la fonction à intégrer.
return Math.Cos(x);
}
double IntSimpson(double a, double b,int n){ //Methode de Simpson pour calcul intégrale
int i,z; //a= borne inférieure et b, borne supérieure d'intégration
double h,s; //n = nombre de pas
n=n+n;
s = f(a)*f(b);
h = (b-a)/n;
z = 4;
for(i = 1; i<n; i++){
s = s + z * f(a+i*h);
z = 6 - z;
}
return (s * h)/3;
}
}
class integration{ //Class resultat: calcul l'integrale et affiche le resultat.
public static void main(String args[]){
Fonction fonction; //Appel class fonction
fonction = new Fonction();
double a = ???? ; //RENTRER les valeurs souhaitées de a, b et n !!!
double b = ???? ;
int n = ???? ;
double resultat = fonction.IntSimpson(a,b,n); //Applique méthode simpson à fonction
System.out.println("Integrale vaut: " + resultat); //Affiche les résultats
}
}
0
Author: jiji, 2012-12-30 21:53:15