Rechercher : dans
Par :

[MATLAB] Produit vecteur matrice

Dernière réponse le 19 avr 2008 à 16:52:40 Felix, le 18 avr 2008 à 23:34:01 
 Signaler ce message aux modérateurs

Bonjour,

Je suis sous Matlab, et j'aimerais faire un produit vecteur matrice particulier, V*M=T, où si V est un vecteur de taille m, M une matrice de taille n*l, alors T est une "matrice" de taille m*n*l, avec T(i,j,k)=V(i)*M(j,k).
Etant donné qu'utiliser des boucles en Matlab fait perdre beaucoup de temps, je me demandais s'il était possible d'utiliser des notations matricielles. (comme typiquement pour calculer M(i,j)=V(i)*U(j), on utilise M=V*U'...)

Merci beaucoup de vos réponses.

Félix

Configuration: Windows Vista
Firefox 2.0.0.14

Meilleures réponses pour « [MATLAB] Produit vecteur matrice » dans :
Concaténer les vecteurs ou les matrices sous Matlab VoirL'opération de concaténation des variables de Matlab consiste à regrouper ces variables dans une seule (vecteur ou matrice). Exemple : |2 3 4| X= |1 2 5| |0 2 7| Avec : |9 6 8| Y= |5 6 2| |3 2 1| Donne...
Représentation des courbes sous Matlab VoirLa fonction plot permet essentiellement de tracer des courbes sous Matlab. Dans cette astuce, nous allons essayer de détailler le fonctionnement de cette commande. Simple utilisation Vecteur Matrice Vecteur en fonction d'un autre Autres...
Manipulations élémentaires des tableaux sous MatLab VoirSommaire I. Stockage des tableaux II. L'indexation linéaire II.1. Accéder à un élément d'un tableau en utilisant l'indexation linéaire II.2. Passer d'une indexation à l'autre II.2.1. La fonction ind2sub II.2.2. La fonction sub2ind III. La...
LaTeX - Table de caractères VoirSymboles mathématiques Symboles fléchés Lettres grecques Note : certains caractères n'apparaissent pas sous certains navigateurs (notamment certaines versions de Internet Explorer), ils sont remplacés par un carré, la...

1

damlegone32, le 19 avr 2008 à 01:10:32

Salut :
Ce petit bout de code devrais marcher:

m = length(A);
[n l] = size(M);

Mbis = reshape(M,1,n*l); %Tranformation de la matrice en un vecteur ligne

Tbis = A*Mbis; %A vecteur colonne

T = reshape(Tbis,[m n l]); % Transformation de Tbis dans les dimensions désirées



A+

Répondre à damlegone32

2

 Felix, le 19 avr 2008 à 16:52:40
  • +1

Très bonne idée! Et ça marche très bien.

Pour transformer une matrice en vecteur il y même M(:) qui entasse les colonnes.
Et sinon reshape prend colonne par colonne, donc il faut transposer avant le dernier reshape...

Mais merci beaucoup, je vais pouvoir me débrouiller!

Félix

Répondre à Felix