Bonjour à tous,
Je suis novice et à court d'idées pour calculer la chose suivante :
1) J'ai un fichier Fichier.mat
2) Dans ce fichier j'ai une matrice : A(Time,X,Y)
Ma matrice est en "3D" :
* Time : temps
* X : nombre de lignes
* Y : nombre de colonnes
Il faut imaginer que j'ai autant de matrice (X,Y) que de valeur "Time".
3) Je voudrais Additionner les valeurs étant à la même position (X,Y) dans la matrice A pour tous les "Time".
Pour avoir une matrice finale :
MatFinale (Xtot,ytot) dans laquelle :
Tot = sum(X,Y) pour tous les "Time"
Mais je bloque un peu.
J'ai essayé un système de boucle, mais ce n'est pas top sous Matlab ...
J'ai aussi essayé :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 for i = 1 : length (data.X(1,:,1)) for j = 1 : length (data.Y(1,1,:)) Total(X,Y) = sum(data.X(:,X,Y)) ; end % j end % i
mais je n'arrive pas à voir si cette solution additionne toutes les valeurs de ma matrice entre elles ou si elle permet de bien ajouter les valeurs situées au même emplacement dans ma matrice pour chaque valeur de time ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part Tot(:,:) = sum(data.X(:,X,Y)) ;
Pouvez-vous me dire si une de mes proposition (ou les deux) sont censées menés au bon résultats ?
Existe-t'il une solution claire ?
En guise d'exemple :
A (Time,X,Y)
A pour Time = 1 :
A = [1 2 3; 4 5 6]
A pour Time = 2 :
B = [10 20 30; 40 50 60]
La matrice tot doit donner :
C = A+B = [11 22 33; 44 55 66] ;
Soit : C = sum (A (:,X,Y)) = [11 22 33; 44 55 66] ;
Merci d'avance pour votre aide !
Partager