J'ai un tableau de cellules (C
) contenant 5 matrices. Chaque matrice représente autre ensemble de vecteurs (par exemple chaque matrice comporte deux colonnes One est coordonnée x;.. L'autre est coordonnée y le numéro de ligne variable dépend du nombre de vecteurs)Comment faire un produit scalaire dans une matrice de cellules dans MATLAB?
C{1} = [20x2 double];
C{2} = [23x2 double];
C{3} = [32x2 double] ...
Dans ce cas, il y a 20 vecteurs dans C {1}; 23 vecteurs dans C {2} et ainsi de suite. Y at-il un moyen (autre qu'une ou deux pour la boucle) de faire le produit scalaire pour les deux vecteurs adjacents pour chaque matrice?
C{1} = [2,3; 1,2; 5,4; 8,3; ...]
calculer le produit scalaire de [2,3] & [1,2], puis [1,2] & [5,4], puis [5,4] & [8,3] et ainsi de suite . Donc, à la fin, je m'attendrais à obtenir un réseau de cellules avec 5 cellules. Chaque cellule est un tableau [n-1,1] (n est la longueur de la matrice).
dots = [5x1 cell].
dots{1} = [19x1 double];
dots{2} = [22x1 double];
dots{3} = [31x1 double] ...
Merci. Mais cela me donnera un produit scalaire pour chaque matrice et aboutira à un vecteur nx1 (n est la longueur du tableau de cellules). Dans mon cas, je voudrais faire le produit scalaire pour 4 éléments à la fois. Donc, si C {1} = [20x2 double], je m'attendrais à avoir un tableau [19x1 double]. –
@JameeLin Ok réponse est mise à jour pour tenir compte de cela. J'espère que cela fonctionne comme prévu maintenant. – Suever
Cela fonctionne !! Merci beaucoup!! –