Package Class Tree Deprecated Index Help
PREV CLASS NEXT CLASS FRAMES NO FRAMES All Classes
SUMMARY: NESTED | FIELD | CONSTR | METHOD DETAIL: FIELD | CONSTR | METHOD
java.lang.Object Matrice
public class Matrice extends java.lang.Object
Implémentation de la classe Matrice
Objectifs :
Mettre en place des raisonnements algorithmiques sur une structure de données particulière et la programmer en Java.
1.
Discussion sur la notion de responsabilité de la validité des données entre la classe Matrice et ses clients
2.
Utilisation de la classe Matrice 3.
La structure de données de base d'une matrice est un tableau de nombre à deux dimensions. Array deux dimensions de doubles : double[][] m = new double[ligne][colonne];
Dans cette version, on pose que c'est les clients qui sont responsables de la validité des données.
Les constructeurs sont :
Matrice (int) : matrice carrée (n lignes x n colonnes) initialisée avec des 0 1.
Matrice (int, int) : matrice rectangulaire (n lignes x m colonnes) initialisée avec des 0 2.
Matrice (int, int, double) : matrice rectangulaire (n lignes x m colonnes) initialisée avec val 3.
Matrice (Matrice) : clone de la matrice m 4.
Matrice (double[][]) : matrice initialisée par un tableau deux dimensions de doubles 5.
Les opérations sur la Matrice sont : accesseurs
1.
nombre de lignes : getNbLignes() 1.
nombre de colonne : getNbColonnes() 2.
accès à un élement : get() / set(double) 3.
Opérations matricielles 2.
addition 1.
multiplication par un scalaire 2.
multiplication matricielle 3.
transposée 4.
Affichage 3.
affichage simple de la matrice : toString() 1.
Remarque :
les indices des matrices commencent à 1 alors que les indices des tableaux commencent à 0 ! Afin de simplifier le travail de progammation, nous décrétons que les lignes et les colonnes sont 0-basés
Matrice(double[][] t)
Constructeur : matrice initialisée par un tableau deux dimensions de doubles
Matrice(int n)
Constructeur : matrice carrée (n lignes x n colonnes) initialisée avec des 0
Matrice(int nbLignes, int nbColonnes)
Constructeur : matrice rectangulaire (n lignes x m colonnes) initialisée avec des 0
Matrice(int nbLignes, int nbColonnes, double val)
Constructeur : matrice rectangulaire (n lignes x m colonnes) initialisée avec val
Matrice(Matrice a)
Constructeur : clone de la matrice m
Matrice add(Matrice a)
Addition matricielle : sur cette matrice elle-même Additionne m passée en paramètre avec cette matrice.
Matrice fois(double d)
Multiplication par un scalaire : sur une nouvelle matrice Multiplie tous les éléments de la matrice par le scalaire d (double).
Matrice fois(Matrice a)
Multiplication matricielle : sur une nouvelle matrice (Les valeurs de cette matrice sont affectées et la référence renvoyée est this).
double get(int ligne, int colonne)
Accesseur : lecture de l'élément m(ligne, colonne) La première ligne et la première colonne sont 0-basé.
int getNbColonnes()
Accesseur : nombre de colonne de la matrice (lecture seule)
int getNbLignes()
Accesseur : nombre de lignes de la matrice (lecture seule)
Matrice mult(double d)
Multiplication par un scalaire : sur cette matrice elle-même Multiplie tous les éléments de la matrice par le scalaire d (double).
Matrice mult(Matrice a)
Multiplication matricielle : sur cette matrice elle-même.
Matrice plus(Matrice a)
Addition matricielle : sur une nouvelle matrice
Additionne m passée en paramètre avec une nouvelle matrice.
void set(int ligne, int colonne, double val)
Accesseur : modification de l'élément m(ligne, colonne) La première ligne et la première colonne sont 0-basé.
java.lang.String toString()
Mise en forme de la matrice, principalement pour l'affichage.
Matrice transpose()
Transposée : sur cette matrice elle-même.
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Matrice
public Matrice(int nbLignes, int nbColonnes)
Constructeur : matrice rectangulaire (n lignes x m colonnes) initialisée avec des 0 Parameters:
nbLignes - nombre de lignes
nbColonnes - nombre de colonnes
Matrice
public Matrice(int n)
Constructeur : matrice carrée (n lignes x n colonnes) initialisée avec des 0 Parameters:
n - dimension de la matrice carrée
Matrice
public Matrice(int nbLignes, int nbColonnes, double val)
Constructeur : matrice rectangulaire (n lignes x m colonnes) initialisée avec val Parameters:
nbLignes - nombre de lignes
nbColonnes - nombre de colonnes
val - valeur d'initialilsation
Matrice
public Matrice(Matrice a)
Constructeur : clone de la matrice m Parameters:
a - matrice à cloner
Matrice
public Matrice(double[][] t)
Constructeur : matrice initialisée par un tableau deux dimensions de doubles Parameters:
t - tableau 2-dimension de doubles contenant les valeurs de la matrice
getNbLignes
public int getNbLignes()
Accesseur : nombre de lignes de la matrice (lecture seule) Returns:
int nombre de ligne
getNbColonnes
public int getNbColonnes()
Accesseur : nombre de colonne de la matrice (lecture seule) Returns:
int nombre de ligne
get
public double get(int ligne, int colonne)
Accesseur : lecture de l'élément m(ligne, colonne) La première ligne et la première colonne sont 0-basé. Exemple d'utilisation :
Matrice m1 = new Matrice(3, 4, 5.0);
double d = m1.get (2, 2); // Assignation à "d" de la valeur 5.0 de m(2,2)
Parameters:
ligne - (0-basé)
colonne - (0-basé) Returns:
double valeur de m(ligne, colonne)
set
public void set(int ligne, int colonne, double val)
Accesseur : modification de l'élément m(ligne, colonne) La première ligne et la première colonne sont 0-basé. Exemple d'utilisation :
Matrice m1 = new Matrice(3, 4, 5.0);
m1.set (2, 2, 18.0); // Place la valeur 18.0 dans m(2,2)
Parameters:
ligne - (0-basé)
colonne - (0-basé)
add
public Matrice add(Matrice a)
Addition matricielle : sur cette matrice elle-même Additionne m passée en paramètre avec cette matrice.
(Les valeurs de cette matrice sont affectées et la référence renvoyée est this).
Conditions :
les dimensions des deux matrices doivent être égales.
Pas testé ici car de la responsabilité du client.
Exemple d'utilisation :
Matrice m1 = new Matrice(3, 4, 5.0);
Matrice m2 = new Matrice(3, 4, 10.0);
// a est une référence sur la matrice m1 !!
Matrice a = m1.add(m2); // soit : a = m1 + m2
Parameters:
m - matrice à additionner avec this Returns:
Matrice référence sur cette matrice après clacul
plus
public Matrice plus(Matrice a)
Addition matricielle : sur une nouvelle matrice
Additionne m passée en paramètre avec une nouvelle matrice.
(Les valeurs de cette matrice NE sont PAS affectées et la référence renvoyée est une autre matrice).
Conditions :
les dimensions des deux matrices doivent être égales.
Pas testé ici car de la responsabilité du client.
Exemple d'utilisation :
Matrice m1 = new Matrice(3, 4, 6.0);
Matrice m2 = new Matrice(3, 4, 11.0);
// a est une référence sur une NOUVELLE matrice Matrice a = m1.add(m2); // soit : a = m1 + m2
Parameters:
m - matrice à additionner (dans une nouvelle Matrice) Returns:
Matrice référence sur une nouvelle matrice après calcul
mult
public Matrice mult(double d)
Multiplication par un scalaire : sur cette matrice elle-même
Multiplie tous les éléments de la matrice par le scalaire d (double).
(Les valeurs de cette matrice sont affectées et la référence renvoyée est this).
Remarque :
Il existe la méthode mult avec comme paramètre une Matrice, cet opérateur est la multiplication matricielle.
On utilise ici la surcharge (méthode de même nom mais avec une signature différente). Ainsi il est possible de nommer une méthode identiquement avec des comportements différents selon le type de paramètres passés).
Exemple d'utilisation :
Matrice m1 = new Matrice(3, 4, 5.0);
double d = 11;
// a est une référence sur la matrice m1 !!
Matrice a = m1.mult(d); // soit : a = d * m1
Parameters:
m - matrice à multiplier avec le scalaire d
d - scalaire d Returns:
Matrice référence sur cette matrice après clacul
fois
public Matrice fois(double d)
Multiplication par un scalaire : sur une nouvelle matrice
Multiplie tous les éléments de la matrice par le scalaire d (double).
(Les valeurs de cette matrice NE sont PAS affectées et la référence renvoyée est une autre matrice).
Remarque :
Il existe la méthode fois avec comme paramètre une Matrice, cet opérateur est la multiplication matricielle.
On utilise ici la surcharge (méthode de même nom mais avec une signature différente). Ainsi il est possible de nommer une méthode identiquement avec des comportements différents selon le type de paramètres passés).
Exemple d'utilisation :
Matrice m1 = new Matrice(3, 4, 5.0);
double d = 11;
// a est une référence sur une NOUVELLE matrice Matrice a = m1.mult(d); // soit : a = d * m1
Parameters:
m - matrice à multiplier avec le scalaire d (dans une nouvelle Matrice)
d - scalaire d
Matrice référence sur une nouvelle matrice après calcul
mult
public Matrice mult(Matrice a)
Multiplication matricielle : sur cette matrice elle-même.
(Les valeurs de cette matrice sont affectées et la référence renvoyée est this).
Conditions : Soit m3 = m1 * m2
Le nombre de colonnes de m1 doit être égale au nombre de ligne de m2.
La matrice résultante est de dimension : nombre de ligne m1 par nombre de colonnes m2.
Remarque :
Il existe la méthode mult avec comme paramètre un double, cet opérateur est la multiplication par un scalaire.
On utilise ici la surcharge (méthode de même nom mais avec une signature différente). Ainsi il est possible de nommer une méthode identiquement avec des comportements différents selon le type de paramètres passés).
Exemple d'utilisation :
Matrice m1 = new Matrice(3, 4, 5.0);
Matrice m2 = new Matrice(4, 5, 10.0);
// a est une référence sur la matrice m1 !!
Matrice a = m1.mult(m2); // soit : a = m1 * m2
Parameters:
a - matrice à multiplier Returns:
Matrice référence sur cette matrice après clacul
fois
public Matrice fois(Matrice a)
Multiplication matricielle : sur une nouvelle matrice (Les valeurs de cette matrice sont affectées et la référence renvoyée est this).
Conditions : Soit m3 = m1 * m2
Le nombre de colonnes de m1 doit être égale au nombre de ligne de m2.
La matrice résultante est de dimension : nombre de ligne m1 par nombre de colonnes m2.
Remarque :
Il existe la méthode fois avec comme paramètre un double, cet opérateur est la multiplication par un scalaire.
On utilise ici la surcharge (méthode de même nom mais avec une signature différente). Ainsi il est possible de nommer une méthode identiquement avec des comportements différents selon le type de paramètres passés).
Exemple d'utilisation :
// Même nombre de lignes m1 que de colonne m2 Matrice m1 = new Matrice(3, 4, 5.0);
Matrice m2 = new Matrice(4, 5, 10.0);
// a est une référence sur une NOUVELLE matrice Matrice a = m1.mult(m2); // soit : a = m1 * m2
Parameters:
a - matrice à multiplier Returns:
Matrice référence sur une nouvelle matrice après calcul
transpose
public Matrice transpose()
Transposée : sur cette matrice elle-même.
(Les valeurs de cette matrice sont affectées et la référence renvoyée est this).
Remarque :
la dimension de la matrice résultante sont :
nombre de lignes est le nombre de colonnes de la matrice source et le nombre de colonnes est le nombre de lignes de la matrice source
Exemple d'utilisation :
double[][] t = {{11, 12, 13, 14}, {21, 22, 23, 24}, {31, 32, 33, 34}};
Matrice m1 = new Matrice (t);
// a est une référence sur la matrice m1 !!
Matrice a = m1.transposee(); // soit : a est la transposée de m1
Returns:
Matrice référence sur cette matrice après clacul
toString
public java.lang.String toString()
Mise en forme de la matrice, principalement pour l'affichage. Les colonnes sont séparées par des doubles espaces, les lignes sont séparées par des retour ligne (\n). Remarque: la méthode toString est héritée de Object ainsi elle utilisable implicitement dans toutes les classes si on ne réecrit pas cette méthode, c'est celle d'Object qui est utilisée et elle retourne : getClass().getName() + '@' +
Integer.toHexString(hashCode()) --> par exemple : matrice@87647741 Exemple d'utilisation :
Matrice m1 = new Matrice(3, 4, 5.0);
System.out.println ("m1 :\n" + m1);
Overrides:
toString in class java.lang.Object
Returns:
String chaîne de caractères formatée représentant la matrice
PREV CLASS NEXT CLASS FRAMES NO FRAMES All Classes
SUMMARY: NESTED | FIELD | CONSTR | METHOD DETAIL: FIELD | CONSTR | METHOD