Bon, c'est encore moi, et je parle encore de matrices
Mais cette fois, c'est plus pour poser des questions, c'est parce que j'ai fini le programme en question
Voilà donc un classeur qui inverse une matrice pas à pas en utilisant la méthode de Gauss et en affichant les étapes de calculs (comme pour SuperDérivées, vous n'aurez plus qu'à recopier ^^)
Notez que cela sert aussi pour calculer le rang d'une matrice.
Comment il fonctionne ? Il concatène votre matrice et l'identité puis effectue des opérations élémentaires sur les lignes de la matrice obtenue. Il renvoie "erreur" puis une erreur si la matrice n'est pas inversible et renvoie une matrice rectangulaire avec l'identité et l'inverse si la matrice originale était inversible ^^
Pour l'utiliser, placez le classeur dans MyLib, rafraichissez les bibliothèques et tapez gauss\inverse(<votre_matrice>) dans n'importe quel classeur ou dans le ScratchPad
Ci-joints, deux screenshots, l'un avant le calcul, l'autre à la fin du calcul.
Inversion de matrice pas à pas
7 posts
• Page 1 of 1
Inversion de matrice pas à pas
You do not have the required permissions to view the files attached to this post.
Pokemon Topaze (Axe) discussion and download links here | (19:29:36) noelnadal: plus sérieusement, j'ai très peu de problèmes (22:45:44) Clifward: J'aime rire du malheur des autres (2017.11.18 - 17:07:12) Fireworks: Hayleia !!!!! (2017.11.18 - 17:07:19) TI-Bot: Fireworks has been logged out (Kicked). (2017.11.18 - 17:07:22) TI-Bot: Ban of user Fireworks revoked. (2017.11.18 - 17:07:25) TI-Bot: Fireworks logs into the Chat. (2017.11.18 - 17:07:28) Fireworks: <3 (2017.11.18 - 17:07:31) Fireworks: 208 |
-
HayleiaGénéreux
Niveau 17: GM (Grand Maître des calculatrices)- Posts: 2509
- Images: 2
- Joined: 30 Aug 2011, 08:22
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: Templar
Re: Inversion de matrice pas à pas
J'avais oublié de te le dire la dernière fois, mais Philippe Fortin a déjà fait toute une bibliothèque de calculs avec des matrices (nommée "linalgcas") comprenant entre autres un programme nommé "gausstep" et un autre nommé "inversestep" avec des noms suffisamment explicites.
En plus, cette bibliothèque est préinstallée sur toutes les calculatrices Nspire (sans doute uniquement les CAS) produites depuis au moins 2 ans.
Si ça se trouve, tu la possèdes, toi aussi, sans le savoir...
En plus, cette bibliothèque est préinstallée sur toutes les calculatrices Nspire (sans doute uniquement les CAS) produites depuis au moins 2 ans.
Si ça se trouve, tu la possèdes, toi aussi, sans le savoir...
-
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)- Posts: 5670
- Joined: 11 Mar 2008, 00:00
- Location: Lyon
- Gender:
- Calculator(s):→ MyCalcs profile
Re: Inversion de matrice pas à pas
Bisam wrote:J'avais oublié de te le dire la dernière fois, mais Philippe Fortin a déjà fait toute une bibliothèque de calculs avec des matrices (nommée "linalgcas") comprenant entre autres un programme nommé "gausstep" et un autre nommé "inversestep" avec des noms suffisamment explicites.
En plus, cette bibliothèque est préinstallée sur toutes les calculatrices Nspire (sans doute uniquement les CAS) produites depuis au moins 2 ans.
Si ça se trouve, tu la possèdes, toi aussi, sans le savoir...
Oui je l'ai. Tout ça pour rien
Mais en fait, je m'en souviens, je l'avais mise sur ma calculette moi-même (ainsi que d'autres) en me disant que ça pouvait être utile, sauf qu'à l'époque je ne savais pas du tout me servir de cette calculatrice, je n'ai donc jamais réussi à me servir de ce classeur -.-°
Je l'ai donc tout simplement oubliée et j'ai refait une fonction que j'avais déjà
Je vais voir si j'arrive à m'en servir maintenant que je sais à peu près me servir de ma calculette
Bof, c'est pas grave, c'était mon premier programme complet (le premier étant un simple Number Guessing game). Je me fiche qu'il ne serve à personne, au moins il marche, je peux continuer mon apprentissage ^^
Et puis comme je l'ai codé avec des fonctions très simples, des débutants (comme moi) pourront peut-être se lancer dans la programmation en examinant mon code source qui est très facile à comprendre
Pokemon Topaze (Axe) discussion and download links here | (19:29:36) noelnadal: plus sérieusement, j'ai très peu de problèmes (22:45:44) Clifward: J'aime rire du malheur des autres (2017.11.18 - 17:07:12) Fireworks: Hayleia !!!!! (2017.11.18 - 17:07:19) TI-Bot: Fireworks has been logged out (Kicked). (2017.11.18 - 17:07:22) TI-Bot: Ban of user Fireworks revoked. (2017.11.18 - 17:07:25) TI-Bot: Fireworks logs into the Chat. (2017.11.18 - 17:07:28) Fireworks: <3 (2017.11.18 - 17:07:31) Fireworks: 208 |
-
HayleiaGénéreux
Niveau 17: GM (Grand Maître des calculatrices)- Posts: 2509
- Images: 2
- Joined: 30 Aug 2011, 08:22
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: Templar
Re: Inversion de matrice pas à pas
très bonne, est semblable à celui utilisé par la HP 50g, ne manque élémentaires indiquer les changements entre les lignes, il serait possible de faire ces changements?
merci
merci
-
jmat
Niveau 7: EP (Espèce Protégée: geek)- Posts: 50
- Joined: 24 Jul 2013, 01:03
- Gender:
- Calculator(s):→ MyCalcs profile
Re: Inversion de matrice pas à pas
Tiens tu programme sur nspire toi ^^
beau programme !
beau programme !
Mes records personnels :
2x2x2 : 2.18 secondes / 2x2x2 une main : 21.15 secondes / 2x2x2 yeux bandés : 47.59
3x3x3 : 5.97 secondes / 3x3x3 une main : 49.86 secondes
4x4x4 : 1.49 minutes / 4x4x4 une main : 6.50 minutes
5x5x5 : 4.10 minutes / 5x5x5 une main : 18.02 minutes
6x6x6 : 8.10 minutes
7x7x7 : 16.03 minutes
9x9x9 : 58.26 minutes
megaminx : 5.59 minutes / pyraminx : 7.91 secondes / square-one : 1.07 minutes
2x2x2 : 2.18 secondes / 2x2x2 une main : 21.15 secondes / 2x2x2 yeux bandés : 47.59
3x3x3 : 5.97 secondes / 3x3x3 une main : 49.86 secondes
4x4x4 : 1.49 minutes / 4x4x4 une main : 6.50 minutes
5x5x5 : 4.10 minutes / 5x5x5 une main : 18.02 minutes
6x6x6 : 8.10 minutes
7x7x7 : 16.03 minutes
9x9x9 : 58.26 minutes
megaminx : 5.59 minutes / pyraminx : 7.91 secondes / square-one : 1.07 minutes
-
nikitouzzModo
Niveau 16: CC2 (Commandeur des Calculatrices)- Posts: 1016
- Images: 1
- Joined: 16 Feb 2012, 18:39
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: Fac de maths
Re: Inversion de matrice pas à pas
jmat wrote:très bonne, est semblable à celui utilisé par la HP 50g, ne manque élémentaires indiquer les changements entre les lignes, il serait possible de faire ces changements?
merci
Ça serait possible oui, mais pas très utile. Le programme fait tout le temps la même chose, et de la manière la plus simple algorithmiquement parlant (c'est à dire pas la plus simple du point de vue des calculs).
Par contre, j'ai codé ce truc il y a longtemps et en pas longtemps donc je ne me souviens plus trop comment il marche, mais je vais quand même essayer d'expliquer.
_____
Triangularisation inférieure :
Pour chaque colonne i, on cherche à mettre des zeros dans toutes les "cases" en dessous de la "case" (i,i). Pour ça, on cherche un "pivot", c'est à dire une ligne l telle que le nombre dans la case (l,i) soit non nul. Puis on se sert donc de cette ligne pour annuler tous les termes qu'on veut en dessous de (i,i), c'est à dire qu'on fait pour toutes les lignes k telles que k>i, L(k)-q*L(l)→L(k), où q est le quotient qui donne un zéro dans (k,i). Quelque part dans ces étapes se trouve aussi une "normalisation" où on met le terme (i,i) à 1.
Triangularisation inférieure :
Une fois triangulaire inférieure, il est facile d'annuler tous les termes "du dessus" puisqu'on a des 1 partout où ça nous arrange.
Fin.
_____
Voilà, j'espère qu'avec cette explication, mon programme est devenu plus clair, et si tu tiens vraiment à ajouter cette fonctionnalité, tu peux le faire, le programme n'est absolument pas protégé et le code n'est pas très obscur (j'ai pas vraiment de talents d'optimisation en Basic Nspire donc j'utilise majoritairement des boucles assez explicites dans leur but).
Pokemon Topaze (Axe) discussion and download links here | (19:29:36) noelnadal: plus sérieusement, j'ai très peu de problèmes (22:45:44) Clifward: J'aime rire du malheur des autres (2017.11.18 - 17:07:12) Fireworks: Hayleia !!!!! (2017.11.18 - 17:07:19) TI-Bot: Fireworks has been logged out (Kicked). (2017.11.18 - 17:07:22) TI-Bot: Ban of user Fireworks revoked. (2017.11.18 - 17:07:25) TI-Bot: Fireworks logs into the Chat. (2017.11.18 - 17:07:28) Fireworks: <3 (2017.11.18 - 17:07:31) Fireworks: 208 |
-
HayleiaGénéreux
Niveau 17: GM (Grand Maître des calculatrices)- Posts: 2509
- Images: 2
- Joined: 30 Aug 2011, 08:22
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: Templar
Re: Inversion de matrice pas à pas
Merci pour l'explication, maintenant je dois apprendre à programmer jeje
-
jmat
Niveau 7: EP (Espèce Protégée: geek)- Posts: 50
- Joined: 24 Jul 2013, 01:03
- Gender:
- Calculator(s):→ MyCalcs profile
7 posts
• Page 1 of 1
Who is online
Users browsing this forum: ClaudeBot [spider], michell0987654321 and 2 guests