Comment coder une fonction de type matricielle

Le
Conception lvs
Bonjour

Mon problème est très simple dans l'énoncé.
Est-il possible de coder une fonction se comportant comme une fonction de
type matricielle comme PRODUITMAT() ou INVERSEMAT() avec une validation par
Shift+CRTL+Enter ?

Ex: Je souhaite réaliser le produit vectoriel de deux vecteurs A
(xA,yA,zA)et B(xB,yB,zB) ayant chacun 3 composantes.
Le résultat (le vecteur C) sera une matrice 3x1 ou 1x3 selon la disposition
des vecteurs A et B.
xC=yA*zA-zA*yB
yC=zA*xB-xA-zB
zC=xA*yB-yA*xB

En fait le compliqué pour et de comprendre le mécanisme de se type de
fonction afin de le reproduire pour faire des pages et des pages de
d'algèbre vectoriel et de cinématique.

En espérant que ce sujet vous inspire, et en espérant un petit coup de pouce
de votre part, Salutations à tous.

LVS
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Hans Terkelsen
Le #4228981
"Conception lvs"
Bonjour

Mon problème est très simple dans l'énoncé.
Est-il possible de coder une fonction se comportant comme une fonction de
type matricielle comme PRODUITMAT() ou INVERSEMAT() avec une validation par
Shift+CRTL+Enter ?

Ex: Je souhaite réaliser le produit vectoriel de deux vecteurs A
(xA,yA,zA)et B(xB,yB,zB) ayant chacun 3 composantes.
Le résultat (le vecteur C) sera une matrice 3x1 ou 1x3 selon la disposition
des vecteurs A et B.
xC=yA*zA-zA*yB
yC=zA*xB-xA-zB
zC=xA*yB-yA*xB

En fait le compliqué pour et de comprendre le mécanisme de se type de
fonction afin de le reproduire pour faire des pages et des pages de
d'algèbre vectoriel et de cinématique.

En espérant que ce sujet vous inspire, et en espérant un petit coup de pouce
de votre part, Salutations à tous.

LVS




LVS, supposons les 2 vecteurs dans A1:A3 et B1:B3.

Les répéter dans A4:A6 et B1:B6.
Dans C1 ÞTERMAT(A2:B3)
Copier en bas dans C2,C3.
Voilà le vecteur C.

Comme ca? Hans.

Hans Terkelsen
Le #4228951
"Hans Terkelsen" <dk> wrote in message news:#9#

"Conception lvs"
Bonjour

Mon problème est très simple dans l'énoncé.
Est-il possible de coder une fonction se comportant comme une fonction de
type matricielle comme PRODUITMAT() ou INVERSEMAT() avec une validation par
Shift+CRTL+Enter ?

Ex: Je souhaite réaliser le produit vectoriel de deux vecteurs A
(xA,yA,zA)et B(xB,yB,zB) ayant chacun 3 composantes.
Le résultat (le vecteur C) sera une matrice 3x1 ou 1x3 selon la disposition
des vecteurs A et B.
xC=yA*zA-zA*yB
yC=zA*xB-xA-zB
zC=xA*yB-yA*xB

En fait le compliqué pour et de comprendre le mécanisme de se type de
fonction afin de le reproduire pour faire des pages et des pages de
d'algèbre vectoriel et de cinématique.

En espérant que ce sujet vous inspire, et en espérant un petit coup de pouce
de votre part, Salutations à tous.

LVS




LVS, supposons les 2 vecteurs dans A1:A3 et B1:B3.

Les répéter dans A4:A6 et B1:B6.
Dans C1 ÞTERMAT(A2:B3)
Copier en bas dans C2,C3.
Voilà le vecteur C.

Comme ca? Hans.

LVS, pardon, petite erreur.


... Les répéter dans A4:A6 et B4:B6
(P. ex. en A4 ¡ et analogue, en A4:B6)

Hans.


Conception lvs
Le #4356551
Bonjour Hans

Merci pour ta réponse, la voie du déterminant est effectivement
intéressante, mais le coup du produit vectoriel été un moyen de donner un
application concrète à ma question. Je pensais plutôt à une nouvelle
fonction du genre{ C1=PRODUITVECT(A1:A3,B1:B3)}.Le problème est que ne sais
pas par ou prendre le sujet !
Le fait de savoir "coder" ce genre de fonction me permettrai de réaliser un
grand nombre de calcul sans être obligé d'avoir recours à matlab (pour
certains calculs ;-)).
La programmation d'une telle fonction te parait-elle réaliste?

Salutations à toi.




"Hans Terkelsen" <dk> a écrit dans le message de news:


"Hans Terkelsen" <dk> wrote in message
news:#9#

"Conception lvs" news:#
Bonjour

Mon problème est très simple dans l'énoncé.
Est-il possible de coder une fonction se comportant comme une fonction
de
type matricielle comme PRODUITMAT() ou INVERSEMAT() avec une validation
par
Shift+CRTL+Enter ?

Ex: Je souhaite réaliser le produit vectoriel de deux vecteurs A
(xA,yA,zA)et B(xB,yB,zB) ayant chacun 3 composantes.
Le résultat (le vecteur C) sera une matrice 3x1 ou 1x3 selon la
disposition
des vecteurs A et B.
xC=yA*zA-zA*yB
yC=zA*xB-xA-zB
zC=xA*yB-yA*xB

En fait le compliqué pour et de comprendre le mécanisme de se type de
fonction afin de le reproduire pour faire des pages et des pages de
d'algèbre vectoriel et de cinématique.

En espérant que ce sujet vous inspire, et en espérant un petit coup de
pouce
de votre part, Salutations à tous.

LVS




LVS, supposons les 2 vecteurs dans A1:A3 et B1:B3.

Les répéter dans A4:A6 et B1:B6.
Dans C1 ÞTERMAT(A2:B3)
Copier en bas dans C2,C3.
Voilà le vecteur C.

Comme ca? Hans.

LVS, pardon, petite erreur.


... Les répéter dans A4:A6 et B4:B6
(P. ex. en A4 ¡ et analogue, en A4:B6)

Hans.






Hans Terkelsen
Le #4356091
"Conception lvs"
Bonjour Hans

Merci pour ta réponse, la voie du déterminant est effectivement
intéressante, mais le coup du produit vectoriel été un moyen de donner un
application concrète à ma question. Je pensais plutôt à une nouvelle
fonction du genre{ C1=PRODUITVECT(A1:A3,B1:B3)}.Le problème est que ne sais
pas par ou prendre le sujet !
Le fait de savoir "coder" ce genre de fonction me permettrai de réaliser un
grand nombre de calcul sans être obligé d'avoir recours à matlab (pour
certains calculs ;-)).
La programmation d'une telle fonction te parait-elle réaliste?

Salutations à toi.


Bonjour LVS.


Oui, la réponse n' était pas exactement ce que tu a demandé.

Une fonction pourrait être:
(En Excel, Alt+F11, Insert/Module, écrit la fonction)

Function AxB(A, B)
AxB = Application.Transpose(Array(A(2) * B(3) - A(3) * B(2), _
A(3) * B(1) - A(1) * B(3), A(1) * B(2) - A(2) * B(1)))
End Function

Usage dans Excel comme une fonction de matrice
p. ex. en C1:C3 =AxB(A1:A3;B1:B3), Ctrl+Shift+Enter

Ce produit de vecteur est écrit souvent comme A x B.
Tu sait déjà, probablement, que l'autre produit de vecteur, A*B,
A1*B1+A2*B2+A3*B3, est =SOMMEPROD(A1:A3;B1:B3) en Excel,
(AxB)*C est ÞTERMAT(A1:C3),
et c'est logique, peut-être, de avoir AxB aussi.

Salutations, Hans.

Publicité
Poster une réponse
Anonyme