Après avoir regardé votre problème pendant une longue temps, il semble que votre entrée est une matrice 3D où chaque ligne de votre mise en forme correspond à une tranche de matrice 2D. Par conséquent, dans la syntaxe correcte Matlab, votre matrice est en fait:
M = cat(3, [1,2; 2,3], [5,9; 1,4]);
Nous obtenons ainsi:
>> M = cat(3, [1,2; 2,3], [5,9; 1,4])
M(:,:,1) =
1 2
2 3
M(:,:,2) =
5 9
1 4
La première tranche est la matrice [1,2; 2,3]
et la deuxième tranche est [5,9; 1,4]
. De ce que cela ressemble, vous voudriez la moyenne de seulement la première colonne de chaque tranche et renvoyez ceci comme un seul vecteur de valeurs. Par conséquent, utilisez la fonction mean
et l'index dans la première colonne pour toutes les lignes et les tranches. Cela deviendra malheureusement un tableau 3D singleton, vous aurez donc besoin de faire ressortir les dimensions singleton.
Sans plus tarder:
O = squeeze(mean(M(:,1,:)))
Nous obtenons ainsi:
>> O = squeeze(mean(M(:,1,:)))
O =
1.5000
3.0000
est votre matrice une matrice 3D avec ces valeurs servant de tranches? Votre notation est confuse. Veuillez utiliser la syntaxe MATLAB pour exprimer votre matrice. – rayryeng