Les Allergies
Alimentaires
Posez votre question Signaler

Java: racines d'une fonction

bernardwil - Dernière réponse le 16 juin 2004 à 03:13
Bonjour
je dois résoudre comme exercice : rechercher les 5 racines (3positives et 2 négatives de la fonction:
f(x)= (tanx)²+x³-15

j'ai déjà fait cette partie de programme (la base des bases) mais je n'arrive pas à aller plus loin.

sauriez-vous m'aider svp?
ca doit paraitre simple pour la plupart d'entre vous mais je débute!!

merci d'avance.

voici mon programme (avec plein d'erreurs et incomplet!!) :


import java.awt.*;
import java.awt.event.*;

public class Racines extends Frame {
double a, b,c;
Button d;

public class ActionButton implements ActionListener{
public void actionPerformed(ActionEvent e{
repaint();

}}

public Racines(){
super("Recherche de racines");
setLayout(new FlowLayout());
setSize(700,700);
setLocation(50,50);
addWindowListener (new WindowAdapter(){
public void windowClosing (WindowEvent e)
{System.exit(0);}});



add(new Label("Racines de la fonction(tanx)²+x³-15"));
d=new Button("calcul");
add(d);
d.addActionListener(new ActionButton());
setVisible(true);
}

public void paint (Graphics g){
double racine,x1,x2,x3,x4,x5;
racine=(Math.tan(x))*(Math.tan(x))+x*x*x-15;

if(racine==0){
x1=();
x2=();
x3=();
x4=();
x5=();
g.drawString("racine 1="+x1,20,100);
g.drawString("racine 2="+x2,20,120);
g.drawString("racine 3="+x3,20,140);
g.drawString("racine 4="+x4,20,160);
g.drawString("racine 5="+x5,20,180);
}
else g.drawString("pas de racine",20,100);
}}

public static void main (String args[]){
new Racines();}
Lire la suite 

Java: racines d'une fonction »

1 réponses
Réponse
+1
moins plus
Slt,

Je pense que le prog suivant devrait suffire pour résoudre ton problème (je n'ai pas utilisé de frame, je fais tout dans l'invite de commandes) :

class Racines{
public static void main(String args[]){
double x=-Math.PI, fin=Math.PI, rac1=0, rac2=0;
while(x<fin){
rac2=Math.tan(x)*Math.tan(x)+x*x*x-15;
if((rac1<0 && rac2>0) || (rac1>0 && rac2<0)) System.out.println(x);
x+=.01;
rac1=rac2;
}
}

Je t'explique en gros : je choisis un intervalle d'étude (en l'occurence de -pi à pi), je construis une boucle (qui va scanner tout l'intervalle des x) sur laquelle je vais regarder quand la fonction change de signe (cela permet de savoir quand une fonction passe par 0) puisque je ne peux pas trouver la valeur exacte de la racine.

Et voilà le résultat qui s'affiche dans la fenêtre de l'invite de commandes :
-1.7815926535898172
-1.3315926535898168
1.298407346410185
1.9184073464101856
2.4284073464101765
Tu as bien 3 racines positives et 2 négatives.

Mon programme est très basique et tu peux facilement l'intégrer dans une Frame si tu veux présenter tes résultats de façon différente.

En espérant t'avoir aidé, bon courage pour la suite...
Ajouter un commentaire
Ce document intitulé « java: racines d'une fonction » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?