Manipulation de nombres complexes

Soyez le premier à donner votre avis sur cette source.

Snippet vu 23 373 fois - Téléchargée 32 fois

Contenu du snippet

Petit programme qui montre comment manipuler les nombres complexes; additon, mutiplication, conjugé.

Source / Exemple :


public class ComplexApp {
  public static void main(String[] args) {

	Complex a = new Complex(3.0,2.0); // Nombre complexe 3+2i
	Complex b = new Complex(1.0,-4.0);// nombre complexe 1-4i
	
	System.out.println("Za="+a); // On affiche a en utilisant a.toString()
	
	System.out.println("Zb="+b); // On affiche b en utilisant b.toString()

	Complex sum = b.add(a); // ajoute a à b
        
	System.out.println("Za+Zb="+sum); // On affiche la somme

	Complex product = b.multiply(a); // b * a
   	System.out.println("Zb*Za="+product);
	a.conjugate(); // Complexe conjugé de a
	System.out.println("Conjugé de Za="+a);
	}
}
// Ci-dessous à mettre dans un autre fichier intitulé Complex.java

public class Complex {
	private double real =0;
	private double imag =0; //real, imag sont des variables d'instances

	public Complex() {
	} // on utilise la valeur par défaut 0 + i0

	public Complex(double real, double imag) {
	  this.real = real;
	  this.imag = imag;
	}

	public void conjugate() {imag = -imag;}

	public Complex add(Complex c) {
	  //le résultat est aussi un complexe, il faut donc introduire une autre variable de type Complexe
	  Complex sum = new Complex();
	  sum.real = real + c.real;
	  sum.imag = imag + c.imag;
	  return sum;
	}

	public Complex multiply(Complex c) {
	  Complex product = new Complex();
	  product.real = (real * c.real) - (imag * c.imag);
	  product.imag = (real * c.imag) + (imag * c.imag);
	  return product;
	}

	public String toString() {
          // exemple de la méthode prépondérante
		if (imag>=0)
	return real + "+i" + Math.abs(imag);
	else
	return real + "-i" + Math.abs(imag);
	}
}

A voir également

Ajouter un commentaire

Commentaire

Messages postés
2835
Date d'inscription
lundi 11 août 2003
Statut
Modérateur
Dernière intervention
16 décembre 2006
10
Pourrais-tu mettre un exemple avec un main pour les personnes qui désireraient tester ta source. Egalement pourrais-tu mettre les fichiers .java ... ;-)
Merci
@+

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.