Manipulation de nombres complexes

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

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.