Matrice triangulaire, Equation

Signaler
Messages postés
64
Date d'inscription
mardi 7 janvier 2003
Statut
Membre
Dernière intervention
21 octobre 2008
-
Messages postés
637
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
9 janvier 2017
-
Salut,j'aimerai savoir si quelqu'un pourrais m'aider sur ça,
je voudrais resoudre un systeme Ax=b
A etant une matrice triangulaire, x un vecteur et b un vecteur aussi,
et je veux avoir le vecteur x qui inconnu
Merci

11 réponses

Messages postés
235
Date d'inscription
vendredi 25 avril 2003
Statut
Membre
Dernière intervention
26 juillet 2010

Si A est une matrice triangulaire supérieur ( avec des 0 en bas), il suffit de calculer x1 avec la dernière ligne puis de remonter jusqu'a xn. Si tu veux des details dis le.
MagicVinni
Messages postés
64
Date d'inscription
mardi 7 janvier 2003
Statut
Membre
Dernière intervention
21 octobre 2008

merci
mais je voudrai svp plus de details;

et, dans un autre cas, si on avait une matrice non triangulaire, comment resoudre le systeme Ax=b;

un autre probleme:
comment declarer une matrice dans une function, parce que j'ai fait :

"Function Mat (p:array of array of real):array of array of real;"

et il me trouve une erreur dans la declaration de P et du type de la fonction Mat? (en Delphi 7)


merci beaucoup;
Messages postés
235
Date d'inscription
vendredi 25 avril 2003
Statut
Membre
Dernière intervention
26 juillet 2010

Pour résoudre un systeme Ax=B, plusieurs méthodes
1) il faut inverser la matrice si elle est inversible on a alors x=A^-1.B.
2) Autre méthode : la méthode de crammer qui n'utiliser que des determants ( voir un bouquin de DEUG de math). Si tu veux des détails sur cette méthode dis le et dis moi ton niveau en math, ca maidera.
3) Le pivot de Gauss.

Si tu veux faire du calcul matriciel, il serait bien d'avoir une unité de math pour ne pas avoir a se retaper toutes les fonctions à la main. Il doit ya voir des trucs sur torry.net
Sinon si tu veux les refaire, si tu as des soucis avec les tableaux, car on ne connais pas les dimesions. peut-être essayer d'utiliser un TSringList à la position 0 tu mes nb lignes:l, en 1 tu met nb colones:c, puis les valeurs en colonnes par exmple et tu appelles la valeur M(i,j)=StrToFloat(Liste[1+i+j*l]), un truc du genre.
J'espère que c'est assez clair, sinon n'hésite pas.

MagicVinni
Messages postés
64
Date d'inscription
mardi 7 janvier 2003
Statut
Membre
Dernière intervention
21 octobre 2008

Merci d'avoir répondu,
Mathematiquement je sais comment faire, je crois que j'ai le niveau, moi je demandais comment faire l'algorithme en Delphi, parce que là, je débute,

J'aimerai savoir si vous vous y connaisser en théorie des graphes, parce que là j'ai un truc, woah !!! je ne vois pas du tout comment commencer,
il s'agit de trouver les différentes composantes fortement connexes, enfin si vous savez de quoi je parle j'aimerai avoir votre aide :)
Merci énormement de vos réponse.
Messages postés
637
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
9 janvier 2017

voir sur le web DMATH ..
Il y a les fonctions rechechés et plus...

yvessimon
Messages postés
1
Date d'inscription
lundi 3 avril 2006
Statut
Membre
Dernière intervention
3 avril 2006

slt g a ecrire l'organigramme et le programme correspondant à la methode de gauss pour la resolution d'une equation Ax=b ou A est matrice carrée à n ligne et n colonnes et b un vecteur de R<SUP>n
</SUP>
le programme doit etre en pascal ou en delphi .
et aussi la meme chose pour gauss avec pivot total

svp besoin d'une reponse et tres vite g plus le temps
g tout fais pour trouver un resultat mais tjrs un prob.
Messages postés
64
Date d'inscription
mardi 7 janvier 2003
Statut
Membre
Dernière intervention
21 octobre 2008

Salut
sa fais longtemps que j'ai pas trvaillé avec les matrices, mais j'aimerai bien t'aider, si tu peu etre plus précis n'hesite pas à me contacter

Cheers
Messages postés
637
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
9 janvier 2017

Messages postés
2
Date d'inscription
vendredi 16 février 2007
Statut
Membre
Dernière intervention
22 décembre 2008

Pour résoudre une équation à plusieurs variables, il y a plusieurs options. Si le temps de calcul importe peu, et que la taille de la matrice n'est pas trop grande, la solution de Cramer (avec un seul m) donne une réponse exact et donne la solution peu importe le système (tant qu'il y a une solution).

Si la matrice a plus de 7 ou 8 variables, je recommanderais plutôt des méthodes d'analyse numériques. Les méthodes que j'ai apprises étant les méthodes de Jacobi et Gauss-Seidel. Ces méthodes (appliquées à des systèmes de 8 variables et plus) sont vraiment plus rapides, mais ne sont pas exactes. Il s'agit en fait de boucler jusqu'à ce que l'erreur obtenue soit acceptable. Pour des matrices de 20 variables et plus, je pense qu'il serait mieux d'utiliser des méthodes numériques non-exactes et boucler jusqu'à ce que l'erreur soit inférieur à ce qu'un decimal peut calculer, que d'utiliser Cramer. Déjà avec 10 variables, le calcul me prenait quelques secondes. À 11 variables ce serait 11 fois plus long. À 12 ce serait 132 fois plus long, etc...

Donc Cramer est un bon départ pour l'exactitude, mais pour calculer rapidement, googlez Jacobi et Gauss-Seidel.

Et si quelqu'un a envie de faire un projet un peu poussé, sur le calcul matriciel, faites moi signe. J'adore ça!
Messages postés
1
Date d'inscription
vendredi 13 février 2009
Statut
Membre
Dernière intervention
18 mai 2009

Salut ,en fait  je suis débutant en Delphi et j'ai un stage dans le cadre de mon Master sur Delphi ou je doit développer un programme en utilisant les polynômes 2ième degré,je me demande si tu a des pistes ou des exemples Delphi qui traitent
les opérations mathématique (equation, polynome,...)
merci beaucoup;
Messages postés
637
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
9 janvier 2017

Bonjour,
Résoudre une équation du second dégré est simple.
chacun des coéficients de l'équation étant dans une table qui représente le polynome.

Les exemples ne manquent pas.
Souhaites tu avoir les solutions seulement dans R ou dans C

Les solutions réelles sont des nombres réelles.!!

Pour les solutions complexes les solutions sont à classer dans une table à  2 élément. Sol[0] = partie réelle
             Sol[1] = partie imaginaire
il est possible de créer un type complexe specifique à ton application.

Si par la suite il y a d'autres calculs avec des nombres complexes alors utilise les calculs avec des nombres complexes, voir les exemples sur le site.

Salutations
yvessimon