Mathusalem a écrit:Si tu multiplies à droite par une matrice 5x1, alors oui.
Tu ne pourrais pas multiplier à gauche, car la multiplication matricielle (5,1)x(5,5) n'est pas définie.
En revanche, si tu te demandes pourquoi la multiplication matricielle est définie tel quel, c'est pour la raison suivante :
Imagine deux applications linéaires f et g. Leur composition est h = f rond g.
Tu peux représenter ces applications linéaires f et g par des matrices F et G. Tu obtiens la représentation matricielle de H en faisant F (produit matriciel) G. En gros, le produit matriciel est tel qu'il est pour correspondre à la composition d'applications linéaires.
Mathusalem a écrit:Tu sais cela, mais tu ne sais pas faire une multiplication matricielle ?
Etant donné un ensemble de paramètres, qui peuvent être considérés comme les paramètres d'un système d'équations linéaires régulier, quel est l'intérêt de calculer l'inverse d'une matrice qui n'est en fait qu'un tableau.
Autant je comprends qu'on calcule des résultats relatifs au calcul matriciel par le résolution de système linéaire, autant je ne comprends pas qu'on ramène le calcul de système linéaire à un calcul matriciel. Mais ça c'est mon problème de limitation intellectuelle.
0.03422 -0.00836 0.00210 -0.02796 0.00000
-0.01565 0.01901 -0.00198 -0.00137 0.00000
-0.00465 0.00079 0.01097 -0.00712 0.00000
-1.04931 -1.07700 -1.06444 2.19075 1.00000
-0.06496 -0.05800 -0.06643 1.18938 -0.00000
60 60 60 0,5 1
1,685
0,083
0,424
-189,305
-10,446
1.663583 0.081616 0.423710 -189.349872 -10.768255
0,24566308662066 0,08993696007382 0,06677562456134 0,09762432874343 0,50000000000082
Ces résultats sont confirmés par la résolution directe du système linéaire
Dlzlogic a écrit:Je crois que j'ai trouvé la raison de la différence.
Dans "mon" calcul, j'utilise la matrice inverse, calculée par la méthode que j'ai lue
1- calcul de sa transposée
2- chaque terme de la matrice inverse est égal au cofacteur divisé par le déterminant de A
Ensuite le résultat final est obtenu en faisant la somme des produits de chaque terme de la ligne et du terme de rang (col) de la matrice B(5x1).
Le résultat est identique au calcul de la résolution du système.
Dans le calcul fait par l'outil dont le lien est cité, le résultat est obtenu en ajoutant, pour chaque colonne le produit des termes d'une même ligne. En d'autres termes, il s'agit du produit de B(5x1 ou 1x5 ?) par la transposée de A^-1.
Je rappelle que A est une matrice 5x5 et B une matrice (5x1)
Je suppose qu'on va me dire "ça dépend de ce qu'on cherche".
Bref, je suis perdu.
A noter que le site dont je parle est anglophone, les conventions sont-elle les mêmes ? J'en sais rien.
ampholyte a écrit:Pour ce qui est des conventions, elles sont les mêmes au moins pour ce cas de figure.
En revanche le site anglais traite les produits matriciels du type B*A avec B une matrice (1*5), votre collègue n'a pas vérifié le produit.
Il faut rappeler que le produit matriciel n'est pas commutatif.
En outre, la matrice B(1,5) et B(5,1) ne sont pas les mêmes matrices respectivements une matrice ligne et une matrice colonne.
Dans le premier cas, la multiplication possible est B*A, dans le second cas (le votre) elle sera A * B. Les résultats que vous obtenez sont donc tout à fait normal.
L'erreur vient de votre collègue qui a confondu matrice ligne et matrice colonne.
Je me permets de poster le lien vers votre calcul sur le site de votre collègue : [url]http://www.calcul.com/matrix-multiply?m_op=Multiply&m_m1=[[0.03422,-0.00836,0.00210,-0.02796,0.00000],[-0.01565,0.01901,-0.00198,-0.00137,0.00000],[-0.00465,0.00079,0.01097,-0.00712,0.00000+],[-1.04931,-1.07700,-1.06444,2.19075,1.00000+],[-0.06496,-0.05800,-0.06643,1.18938,-0.00000]]&m_m2=[[60],[60],[60],[0.5],[1]][/url].
Salut Dlzlogic et bonne année à toiDlzlogic a écrit:Pour moi, la "formule" générale de transformation en 3D s'écrit
X=TX + XX.x + XY.y + XZ.z
Y=TY + YX.x + YY.y + YZ.z
Y=TZ + ZX.x + ZY.y + ZZ.z
où TX, TY, TZ sont les composantes de translation et XX,XY,XZ, ...,ZZ sont les composantes de la transformation affine qui est la composée d'une rotation, d'une homothétie et d'une affinité.
.
ptitnoir a écrit:Salut Dlzlogic et bonne année à toi
Je suis intéressé par ton truc que je ne connais pas !
Peux tu développer un peu plus , en quelques lignes , car là je n'ai rien compris à ce que tu essaies d'expliquer dans le message ci dessus (message qui semble si évident pour toi mais pas pour moi...)
Merci et A+
Sylviel a écrit:Ce qui s'écrit en langage matriciel :
U' = T + AU
Où C' est le vecteur des nouvelles coordonnées, T le vecteur de translation, A une matrice 3*3, et U le vecteur des anciennes coordonnées.
. Moi, j'ai été obligé de les écrire moi-même. Peut-être des logiciels de calculs mathématiques ont ça, moi pas.La plupart des librairies/logiciel de calculs ont le calcul matriciel déjà implémenté et il suffit donc d'écrire la formule que j'ai donnée, et non pas 3 formules avec trois sommes
ptitnoir a écrit:Je suis intéressé par ton truc que je ne connais pas !
Peux tu développer un peu plus
ne jamais demander à une machine de faire un calcul que je ne saurais pas faire à la main.
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 16 invités
Tu pars déja ?
Identification
Pas encore inscrit ?
Ou identifiez-vous :