Problème de math [matrice]

Signaler
Messages postés
56
Date d'inscription
mardi 19 décembre 2006
Statut
Membre
Dernière intervention
2 juillet 2007
-
Messages postés
56
Date d'inscription
mardi 19 décembre 2006
Statut
Membre
Dernière intervention
2 juillet 2007
-
Bonjour, je suis une bouse en math, j'ai un problème que je n'arrive pas à résoudre.

Mon prog me donne une série d'équations (de degrés un) qui peuvent ne pas être indépendantes.
J'aimerais connaitre grace à un algorithme les inconnues ne pouvant être déterminées.

A l'issu de ce traitement ce serait à l'utilisateur de donner les valeur à ces inconnues  afin de rendre le système résolvable.

J'espère que mes explications sont compréhensibles, merci de vos éventuelles réponse.

@ +

8 réponses

Messages postés
1141
Date d'inscription
mercredi 7 mars 2007
Statut
Membre
Dernière intervention
19 septembre 2007
3
Bonjour,  daddycool76 comme tu le vois personne ne t'as répondu. Il faudrait que ton pb ai un rapport direct avec VB, ce qui n'as pas l'air d'etre le cas.

Si, je comprend bien, ton prog te donne des equations impossibles a resoudre car manque de données (ou manque d'equations tout cours).

Dans ce cas, il faut que tu identifies les variables qui n'auraient pas trouvées de valeurs (propriétés ISNULL je crois).

tu permets ensuite de les entrer soit meme dans une form. Je ne sais pas trop quoi te dire de plus.
Messages postés
1141
Date d'inscription
mercredi 7 mars 2007
Statut
Membre
Dernière intervention
19 septembre 2007
3
Mais ton prog te retourne simplement les equations ou essai t-il de les resoudre. Car sinon, en effet, il te faut un algo. S'agissant d'equatoins de degré 1, je te suggere la methode de substitution qui consiste a exprimer une inconnue en fonction des données connues.

Mais regarde sur le net Résolution systemes équations et la methode que je viens de te citer. Il y en a d'autres mais tu me dis que tu es nul en maths et celle-ci est la plus simple je pense.
Messages postés
56
Date d'inscription
mardi 19 décembre 2006
Statut
Membre
Dernière intervention
2 juillet 2007

Merci niko de ta réponse, C'est vrai que mon problème est plus mathématique que technique mais je pose quand même la question au cas où....

 J'ai pensé à la même solution que toi avec la méthode de gauss. Seulement le système d'équations obtenu avec mon prog est obligatoirement non résolvable : Nombre d'inconnues >  Nombre d'équations

Par exemple je peux obtenir ce genre de chose :
a + b + c = 0       (1)
2a + 2b + 2c = 0      (2)
a-b-c = 0      (3)

Ici (1) et (2) sont lineairements dépendantes donc j'ai 3 inconnues pour 2 équations.
Donc il faut que l'utilisateur rentre une valeur de a,b ou c pour pouvoir résoudre mon système.

Mais pour cela il faudrait que je crée un algo (et c'est là que je rame) qui detecte cet interdépendence et demande à l'utilisateur de rentrer la valeur de a, b ou c.

Ce cas est simpliste  (a,b et c sont interdépendant). Le problème est que je peux avoir plusieurs relations de dépendance entre plusieurs jeu d'inconnues.

Je crois savoir que des opérations matricielles permettent de résolver ce genre de problème (Rang, Noyau etc...) mais les études sont un peu loin alors...
 
Voila, voila, je vous saoule pas plus avec les maths !!
Messages postés
1141
Date d'inscription
mercredi 7 mars 2007
Statut
Membre
Dernière intervention
19 septembre 2007
3
Dis donc, t'es pas si nul car le pivot de gauss, kerf (noyau) et le rang de matrice, c'est pas du niveau de tout le monde. Alors pour un nul, tu dois pas etre si mauvais. 

Je vois donc que tu connais un certain nombre de chose en maths. Donc, ton pb, c'est que tu n'arrive pas a savoir dans tous les cas si tes equations sont résolvables par un algo. Alors a ta place (pour pas me faire chi... car moi aussi les maths ca m'a saoulé), je passerais pas une feinte.

Tout comme tu l'as dit, si Nombre d'inconnues >  Nombre d'équations, alors c'est mort (sauf cas exeptionnel peut etre).
Alors compte le nombre d'inconnues et d'équations et tant que la condition n'est pas vérifier, tu demande a l'utilisateur de rentrer des valeurs.

Je sais pas si tu dois ABSOLUMENT passer par des calculs de dépendences car la en effet, il te faut faire des calculs matriciels.

Donc, si tu ne veux pas te prendre la tete, fait ma solution qui marche mais qui n'est pas optimiser car on ne sait pas s'il est VRAIMENT nécessaire de rentrer des valeurs mais c'est une solution simple.

Sinon, il faut que tu regardes des cours de maths d'ecole d'ingé (ou de spé), j'en sors mais la fleme de me retapper des algos de maths (désolé). Pour te guider, Il faut que tu regardes certaines propriétés de la matrice (application de la méthode de gauss encore et oui). Genre, la matrice est-elle réguliere ou singuliere je crois ou des trucs comme ca.

Je suis désolé si je ne repond pas a ta question car je suis un peu gené avec ton pb. En effet, tu me dis que ton prog te donne des equations ou Nombre d'inconnues >  Nombre d'équations. Donc pourquoi essayer d'appliquer un algo pour vérifier la résolvabilité de ton système (a moins que je sois a l'ouest aujourd'hui). Si j'ai pas compris essai d'expliquer d'une autre maniere ou sinon dis moi si la reponse te conviens.

a+
Messages postés
56
Date d'inscription
mardi 19 décembre 2006
Statut
Membre
Dernière intervention
2 juillet 2007

Re-salut Nico, merci de m'aider dans ma galère.

J'ai pensé aussi à ta méthode : "Alors compte le nombre d'inconnues et d'équations et tant que la condition n'est pas vérifier, tu demande a l'utilisateur de rentrer des valeurs"

C'est effectivement une solution mais je ne la trouve pas trés propre car j'aimerai connaitre à l'avance les inconnues dépendantes (d'autant plus que je peut avoir des équations linéairement dépendantes)


Je vais essayer de t'expliquer à quoi correspond tout ce bazar :


Mon système d'équation représente un système mécanique. Les inconnues représentent les differents mouvements possibles entre chacune des pièces du mécanisme.

En fait le "rang" (je ne sais pas si c'est le terme approprié)  de mon système d'équation permet de connaitre le degrés de mobilité général de mon système.


Par exemple :


- Rang 0 (système directement résolvable)  :
Mon système mécanique ne possede pas de mobilité, il est rigide.
- Rang 1 (Il faut rentrer la valeur d'une inconnue pour rendre le système résolvable) :
Le mécanisme possede un degre de mobilité. Il suffit par exemple de connaitre la vitesse de déplacement d'une voiture pour calculer la vitesse de rotation des roues.
- Rang 2 (Il faut rentrer la valeur de 2 inconnues pour rendre le système résolvable) :
Le mécanisme possede deux degres de mobilité.
Etc....

Mon prog doit servir de simulateur en mécanique. 
Donc pour pouvoir être utilisé facilement il faudrait indiquer à l'utilisateur : 
"Veuillez rentrer les paramètres a ouet  c ou d  pour simuler votre système" (pour un système de rang 2)

mes explications sont un peu confuses... Dsl
Messages postés
56
Date d'inscription
mardi 19 décembre 2006
Statut
Membre
Dernière intervention
2 juillet 2007

Sinon tu connais des ouvrages sur le sujet ?
Messages postés
1141
Date d'inscription
mercredi 7 mars 2007
Statut
Membre
Dernière intervention
19 septembre 2007
3
OK si j'ai bien compris cette fois, tu veux simplement identifier quelle inconnue est impossible a determiner sans les rentrer soit meme.

bon la je pars du taf donc je verrais un peu demain si j'ai le temps (j'essaierai de voir mes anciens cours).

Pour les ouvrages, je sais pas sur le net mais sinon (si t'es courageux) dans les bibliothèques universitaires, tu n'auras que l'embaras du choix.

bonne chance
Messages postés
56
Date d'inscription
mardi 19 décembre 2006
Statut
Membre
Dernière intervention
2 juillet 2007

Ouaip ! merci, @ +