Toutes les opérations possibles sur une matrice

Soyez le premier à donner votre avis sur cette source.

Vue 49 880 fois - Téléchargée 5 119 fois

Description

J'ai développé ce petit programme pour aller plus vite dans la résolution des problèmes d'algèbre linéaires.
Il permet donc :
_ d'encoder une matrice
_ multiplier 2 matrices
_ calculer le déterminant (Bezout => Sarrus)
_ inverser une matrice (en divisant par le déterminant la transposée de la matrice des cofacteurs)
_ multiplier une matrice par un réel
_ calculer une puissance de matrice
_ échelonner une matrice (pivot de Gauss)
_ Sommer 2 matrices
_ Résoudre un système homogène (n équ à n inc) (par Cramer)
_ Transposer une matrice
_ Visualiser une matrice en mémoire

Toute les matrices sont numérotées, toute matrice obtenue après calcul est mémorisée.
Plutôt que d'avoir des matrices avec des coefficients double super longs, il préfèrera utiliser un réel multiplicateur devant la matrice

Inclu un calcul du pgcd par l'algorithme d'Euclide pour l'échelonnement dans la classe matrice

Conclusion :


Veuillez me signaler tout bug trouvé. Je l'ai développé très vite donc il n'est certainement pas parfait.
Désolé, j'ai pas tout commenter. Je le ferai peut être plus tard.
La classe exécutable est Matprog
L'échelonnement et le determinant utilise l'appel d'une méthode par elle-même.
Dans la classe matrice il y a une série de méthode faisant des petites opérations nécessaires aux autres opérations sur les matrice.
Voilà, c'est le premier code qui soit intéressant pour tout le monde que je développe. Merci de me faire part de vos impressions :-)

Codes Sources

A voir également

Ajouter un commentaire Commentaires
cs_Arnold59 Messages postés 50 Date d'inscription lundi 8 mars 2004 Statut Membre Dernière intervention 3 mars 2009
25 avril 2005 à 11:58
Les 3 programmes se sont bien, compilés
Impossible d'executer les progs ?

Faut-il créer une applet ( j'utilise Mozilla 1.7.3) ?

Version de Java :
C:\java -version
java version "1.4.0"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.0-b92)
Java HotSpot(TM) Client VM (build 1.4.0-b92, mixed mode)
Captain Igloo Messages postés 4 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 4 juin 2005
25 avril 2005 à 18:28
Non, c'est un programme console.
Donc tu ouvres une invit MS-Dos, tu te positionnes dans le dossier où se trouvent les classes compilées et tu tape : "java Matprog"
cs_Arnold59 Messages postés 50 Date d'inscription lundi 8 mars 2004 Statut Membre Dernière intervention 3 mars 2009
25 avril 2005 à 19:47
Impossible d'executer le prog


C:\WINDOWS\Bureau\Progs_Java\Operat_Matrices

C:\WINDOWS\Bureau\Progs_Java\Operat_Matrices>java MatProg
Exception in thread "main" java.lang.NoClassDefFoundError: MatProg (wrong name:
Matprog)
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:509)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:12
3)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:246)
at java.net.URLClassLoader.access$100(URLClassLoader.java:54)
at java.net.URLClassLoader$1.run(URLClassLoader.java:193)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:186)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:265)
at java.lang.ClassLoader.loadClass(ClassLoader.java:262)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:322)

C:\WINDOWS\Bureau\Progs_Java\Operat_Matrices>
POIVRONVERTBLEU Messages postés 20 Date d'inscription jeudi 18 novembre 2004 Statut Membre Dernière intervention 3 janvier 2009
21 sept. 2008 à 20:13
Chouette travail je me suis pernis quelques modif sur la class Matrice. J'ai supprime la méthode Copy par un constructeur de copie. C'est plus simple à ecrire et plus "objet".
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 369
26 mai 2010 à 17:52
Bonjour,

Un très bon code, juste une petite imperfection sur l'inversion des matrices : les matrices carrées ne sont pas les seules à être inversibles donc, pas besoin de lever une exception si ligne!= colonne.

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.