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:

le texte d'alt

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!!

Author: Community, 2010-08-01

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

Jetez un oeil à JScience

 3
Author: renick, 2010-08-01 11:30:57

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