Calcul integrale

developvbdebut Messages postés 476 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 2 juin 2012 - 29 avril 2007 à 23:52
developvbdebut Messages postés 476 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 2 juin 2012 - 15 mai 2007 à 22:13
Bonsoir tout le monde

J'ai un projet de calcul integrale à faire.

Voici le calcul en mats.

e^x =1 - x/1! + x²/2!

Je ne comprend pas grand choses en maths.

Voici le code(algo)

class Fonction {




 



public float calculinteg(float somme, float ep){




 



float resultat;



float x;



x=somme;





do{



somme = somme * somme;



x = x * 1;



resultat = somme/x;




 





}while(resultat<ep);





return resultat;
}




 



}



Pourriez vous vérifié et me dire ce qu'il y a à corriger.

Merci

Cordialement
A voir également:

4 réponses

Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 38
30 avril 2007 à 01:00
Salut:


Tu n'as pas bien choisit le bon titre, il ne s'agit pas ici de calculer une intégrale mais de faire une développement limité de la fonction exponentielle au voisinage de 0.

Même la formule que tu as donné est fausse:

exp (x) = 1 + x/1! + ... x^n/n! + ...

D'après ce que je vois il est demandé d'estimer le calcul de exp (x) à une epsilon près.

On écrire notre formule comme somme d'une suite.

exp (x) = U0 + U1 + U2 + ... + Un

Avec:

Un =
x^n/n!Ce qui donne que U(n+1) U(n)*x/(n+1) et U(0) 1

public float exponentielle (float x, float epsilon) {
    float exp   = 0.0f;
    float terme = 1.0f;  
    int n = 0;
    while (exp < epsilon) {
       terme = terme*x/(n + 1);
       ++n;
      
exp += terme;


    }
    return exp;
}
0
developvbdebut Messages postés 476 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 2 juin 2012 1
30 avril 2007 à 09:25
Bonjour tout le monde

C'est bien un calcul integrale le prof d'algo nous la bien confirmé.

C'est moi qui à du faire un erreur de comprehension, j'ignore si dans un calcul integrale on utilise epsilon.

J'ai noté la formule du calcul dans un doc word.

Je peux te l'envoyer par email.

Cordialement.
0
Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 38
30 avril 2007 à 15:17
Salut:

Crois moi, cette formule est le développement limité de exponentielle (x).
Si c'était l'intégrale de exponentielle (x) il y a un terme non négligeable qui ne figure pas.

Pour calculer l'intégrale il faut faire:

integrale (exp(x), 0 ... t) = exp (t) - 1
sachant que exp (t) = 1 + t/1! + .... t^n/n! + .......... au voisinage de 0

Cela donne integrale (exp(x), 0 ... t) =
t/1! + ... t^n/n! + ... au voisinage de 0
0
developvbdebut Messages postés 476 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 2 juin 2012 1
15 mai 2007 à 22:13
Bonsoir tout le monde

Depuis le début je fais erreur.

En premier lieu je dois faire le calcul du polynome, en suite afficher la fonction sur le graphique en utilisant la methode des trapezes d'un calcul integrale.

je vous ais mis deux class.

Calcul du polynôme

class Fonction {




 



public double calculpolynome(double ax, double ay, double az, double expo){



double resu = 0;



float tp;



int i;





 resu = Math.pow(ax, expo) + 2 * Math.pow(ay, expo-1) + 3 * az;




 



return resu;
}




 



}


ici la class canvas

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.Image.*;
import java.awt.Color.*;
import javax.imageio.*;
import java.io.*;

public class Cartesien extends Canvas{



CompoFonction compf;



Fonction fct;



public Cartesien(){




 



}
public void paint (Graphics g)
{  



compf = new CompoFonction();



fct = new Fonction();



setBounds(5,5,450,300);
setBackground(Color.white);





float s1;
float s2;
float s3;
float s4;
float n=2;
float h;
float x;
float y;
float s;
float k;



float polyn=fct.resu;



float result;



g.setColor(Color.green);
g.drawLine(10,280,380,280);



g.drawLine(10,140,10,280);




 




 




 



g.setColor(Color.black);



g.drawString("6",0,150);





g.drawString("5",0,170);



g.drawString("4",0,190);



g.drawString("3",0,210);





g.drawString("2",0,240);



g.drawString("1",0,270);




 



g.drawString("1",15,300);





g.drawString("2",35,300);



g.drawString("3",55,300);




 



g.drawString("4",75,300);



g.drawString("5",95,300);





g.drawString("6",115,300);





g.drawString("7",135,300);




 



g.drawString("8",155,300);



g.drawString("9",175,300);





g.drawString("10",195,300);



Font f = new Font("Arial",Font.BOLD,14);
g.setColor(Color.black);
g.setFont(f);
g.drawString("0",0,300);



g.drawString("X",195,380);
g.drawString("Y",0,130);




 



//traçage du trait automatique apres calcul du polynome





if(compf.a>0 && compf.b>0)
{



g.setColor(Color.blue);



g.drawString("A",compf.a,381);



g.drawString("B",compf.b,381);





g.drawLine(compf.a,380,compf.a,0);



g.drawLine(compf.b,380,compf.b,0);




 





g.drawLine(s1,s1, s2,s2);
g.drawLine(s2,s2,s3,s3);
g.drawLine(s3,s3,s4,s4);
g.drawLine(s4,s4,s1,s1);




 




 




 




 



}





}
 }





J'ai trouvé ce lien qui explique le fonctionnement de la methode des trapezes sur ce site

http://fr.wikipedia.org/wiki/M%C3%A9thode_des_trap%C3%A8zes

ce que je souhaite c'est qu'apres le calcul, le dessin sur le canvas montre le résultat.

Merci

A+
0
Rejoignez-nous