Effacer les filtres
Effacer les filtres

Find the average of each row, ignore the first column

18 vues (au cours des 30 derniers jours)
Eric Brown
Eric Brown le 30 Avr 2022
Commenté : Voss le 30 Avr 2022
This is pretty straight foward, probaly something small I'm missing but as the title says, mean of each row starting at element 2. I'm getting a 3 by 1 array when i should be getting a 4 by 1 sized array. So whats wrong with my code?
load C.dat
A = C(:,2:end);
Cave= mean(A)';
  2 commentaires
Riccardo Scorretti
Riccardo Scorretti le 30 Avr 2022
Which is the size of C?
Eric Brown
Eric Brown le 30 Avr 2022
C is a 2 dimensional array

Connectez-vous pour commenter.

Réponse acceptée

Voss
Voss le 30 Avr 2022
Let me make up a matrix C
C = (1:4)+[1;2;3;4]*10
C = 4×4
11 12 13 14 21 22 23 24 31 32 33 34 41 42 43 44
By default, mean operates along the first dimension, so this
A = C(:,2:end);
Cave= mean(A)'
Cave = 3×1
27 28 29
is taking the mean of each column of A, i.e., the mean of columns 2 through 4 of C. I imagine you intended to do this
A = C(:,2:end);
Cave= mean(A')'
Cave = 4×1
13 23 33 43
But a more direct way is to specify the dimension along which mean should operate. In this case, dimension 2 to operate along the rows
Cave = mean(C(:,2:end),2)
Cave = 4×1
13 23 33 43
  2 commentaires
Eric Brown
Eric Brown le 30 Avr 2022
Modifié(e) : Eric Brown le 30 Avr 2022
I tried doing it the way you did in your last example but couldn't figure out the syntax of it so i gave up on that approach and did it the less effient way. Thank you for your help and explanation.
Voss
Voss le 30 Avr 2022
You're welcome!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Multidimensional Arrays dans Help Center et File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by