Comment ecrire un algorithme du calcul de l'inverse d'une matrice

zayanla Messages postés 3 Date d'inscription mardi 5 décembre 2006 Statut Membre Dernière intervention 6 décembre 2006 - 5 déc. 2006 à 03:00
informamel Messages postés 2 Date d'inscription mardi 21 avril 2009 Statut Membre Dernière intervention 2 mars 2009 - 22 mars 2008 à 18:01
N'étant pas tres bonne en informatique  , je souhaiterais une aide pour écrire un algorithme sur le calcul de l'inverse d'une matrice ce qui veut dire que l'on travaille sur un tableau de dimension 2
A voir également:

11 réponses

leSaleGauSS Messages postés 148 Date d'inscription samedi 4 novembre 2006 Statut Membre Dernière intervention 4 décembre 2008
5 déc. 2006 à 03:27
As tu déjà une idée en tête ? Sinon je te conseille de faire un petit tour par le règlement...

Quand je suis là tout va mal  
0
leSaleGauSS Messages postés 148 Date d'inscription samedi 4 novembre 2006 Statut Membre Dernière intervention 4 décembre 2008
5 déc. 2006 à 03:45
... Sinon voila un exemple de tableau à deux dimensions à adapter
var Tableau(2,2) : entier  2 colonnes, 2 lignes
var i : entier
Début
   pour i <- 1 a 2 faire
      pour j <- 1 a 2 faire
         Tableau(i,j)<-  Valeur
      finpour
   finpour
fin
Evidement, je ne sais pas non plus quel logiciel tu utilises pour ton algo
Ensuite qu'entends tu par inverse ?
1 2      4 3    
3 4      2 1  un truc comme ça ?
Quand je suis là tout va mal  
0
cs_badrbadr Messages postés 475 Date d'inscription jeudi 19 juin 2003 Statut Membre Dernière intervention 3 novembre 2008 1
5 déc. 2006 à 04:14
On étudie actuellement les matrices en classe.
L'inverse d'une matrice de format 2x2 est relativement facile à calculer.
Soit la matrice A suivante
a b
c d

1) Il faut d'abord calculer son déterminent :  det(A) = a*d - b*c
2) Ensuite, il faut inverser le "d" et le "a"; et changer le signe du "b" et du "c" :
d -b
-c a

3) Finalement, l'inverse est égale à :
1/(det(A)) * | la matrice du numéro 2 |

Et voilà, la mise en forme d'application est très facile.
Il faut juste prendre soin de tester que le déterminent (numéro 1) est différent de zéro

[:D] @++
0
cs_badrbadr Messages postés 475 Date d'inscription jeudi 19 juin 2003 Statut Membre Dernière intervention 3 novembre 2008 1
5 déc. 2006 à 04:58
La classe suivante fait tout ce que tu veux sur les matrices : http://www.csharpfr.com/codes/CLASSE-MATRICE_34171.aspx
Sinon, pour les besoins de la cause, je t'ai fait un petit code qui calcule l'inverse d'une matrice :
using

System;
namespace

InverseMatrice{

class
InverseMatrice2x2{

double[,] matrice2x2 =
new
double[2,2];

double[,] matriceInverse =
new
double[2, 2];

public
double[,] Matrice2x2{

get {
return matrice2x2; }

set { matrice2x2 =
value; CalculerMatriceInverse(); }}

public
double[,] MatriceInverse{

get {
return matriceInverse; }

set { matriceInverse =
value; }}

private
void CalculerMatriceInverse(){
double det matrice2x2[0, 0] * matrice2x2[1, 1] - matrice2x2[0, 1] * matrice2x2[1, 0];matriceInverse[0, 0] matrice2x2[1, 1] / det;

matriceInverse[1, 1] = matrice2x2[0, 0] / det;

matriceInverse[0, 1] = -matrice2x2[0, 1] / det;

matriceInverse[1, 0] = -matrice2x2[1, 0] / det;

}

public
void Print(){

Console.WriteLine(
"Matrice originale : \n-------------------");

Console.WriteLine(
"\t" + matrice2x2[0, 0] +
" | " + matrice2x2[0, 1]);

Console.WriteLine(
"\t" + matrice2x2[1, 0] +
" | " + matrice2x2[1, 1]);

Console.WriteLine(
"Matrice inverse : \n-------------------");

Console.WriteLine(
"\t" + matriceInverse[0, 0] +
" | " + matriceInverse[0, 1]);

Console.WriteLine(
"\t" + matriceInverse[1, 0] +
" | " + matriceInverse[1, 1]);}

}

class
Program{

static
void Main(
string[] args){

InverseMatrice2x2 im =
new
InverseMatrice2x2();

//Matrice originale :

// 1 | 3

// 2 | 4

//La matrice inverse est automatiquement calculéeim.Matrice2x2 =

new
double[,] { { 1, 3 }, { 2, 4 } };

//Afficher les deux matricesim.Print();

}

}

}

[:D] @++
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ShareVB Messages postés 2676 Date d'inscription vendredi 28 juin 2002 Statut Membre Dernière intervention 13 janvier 2016 26
6 déc. 2006 à 10:36
salut,

méthode Gauss ou de Gauss Jordan :
http://www.freevbcode.com/ShowCode.Asp?ID=6221

ShareVB
0
zayanla Messages postés 3 Date d'inscription mardi 5 décembre 2006 Statut Membre Dernière intervention 6 décembre 2006
6 déc. 2006 à 19:16
je travaille sur le langage VBA
donc je cherche à écrire un algorithme  sur le calcul de l'inverse d'une matrice 2*2 (tableau de dimension 2)
0
zayanla Messages postés 3 Date d'inscription mardi 5 décembre 2006 Statut Membre Dernière intervention 6 décembre 2006
6 déc. 2006 à 19:24
oui , je pense que c'est à peu près cela , je ne suis pas très douée.
Mais il faudrait que je traduise cela en langage VBA et je puisse réussir à ecrire l'algorithme correctement et c'est à cet endroit que j'ai besoin de plus d'aide
merci
0
ShareVB Messages postés 2676 Date d'inscription vendredi 28 juin 2002 Statut Membre Dernière intervention 13 janvier 2016 26
6 déc. 2006 à 20:40
salut,

si c'est une matrice 2x2, il me semble qu'il y a une formule genre, à vérifier :

1/(a*d-b*c)((a c)(b d))

ShareVB
0
cs_badrbadr Messages postés 475 Date d'inscription jeudi 19 juin 2003 Statut Membre Dernière intervention 3 novembre 2008 1
6 déc. 2006 à 21:00
Je pense lui avoir très bien expliquer le calcul d'une matrice inverse (et même donner un code en C#)
Alors, pour l'implémentation en VBA, une petite recherche sur Internet s'impose.

ShareVB >> je pense qu'il y a un problème avec ton équation, regarde celle que j'ai posté un peu plus haut.
[:D] @++
0
ShareVB Messages postés 2676 Date d'inscription vendredi 28 juin 2002 Statut Membre Dernière intervention 13 janvier 2016 26
6 déc. 2006 à 22:50
salut,

oui, c'était de mémoire, et effectivement, ca serait plutot :
1/(a*d-b*c)((d -b)(-c a))

j'aurais du vérifier http://fr.wikipedia.org/wiki/Matrice_inversible avant de dire une co******...dsl...

ShareVB
0
informamel Messages postés 2 Date d'inscription mardi 21 avril 2009 Statut Membre Dernière intervention 2 mars 2009
22 mars 2008 à 18:01
salut c Amel j'ai besoin des méthodes de calcul de l'inverse d'une matrice quelconque.
0
Rejoignez-nous