Find the average of a column without the use of commands.

3 visualizzazioni (ultimi 30 giorni)
I have a matrix that is [365,4] and I need to find the average of each column without the use of commands like mean or size. With the use of a for loop.
  5 Commenti
Cappi Nguyen
Cappi Nguyen il 15 Mag 2023
Nevermind I am sorry, I realize I could use the size command for this code. But I don't have any errors in the code just needed some help with it.
dpb
dpb il 15 Mag 2023
Beware! length is a dangerous command/function that may not return what you intend -- it is defined as max(size(x)) and so returns either the number of elements in a row or column of any 2D array -- which would depend upon the array configuration. The 4x3 or 3x4 array will both return 4...

Accedi per commentare.

Risposte (1)

Sai
Sai il 18 Mag 2023
Modificato: Sai il 18 Mag 2023
Hi Cappi,
I understand that you wanted to calculate the average of columns of a matrix without the usage of in-built commands.
Please find the following code snippet to do the same.
A = [1 2 3;4 5 6;7 8 9;10 11 12] %Consider the matrix for reference
A = 4×3
1 2 3 4 5 6 7 8 9 10 11 12
nRows = height(A);
nColumns = width(A);
avg = zeros(1,nColumns);
for i = 1:width(A)
C = A(:,i);
sum = 0;
for j = 1:nRows
sum = sum + C(j);
end
avg(i) = sum/nRows;
end
disp(avg)
5.5000 6.5000 7.5000

Community Treasure Hunt

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

Start Hunting!

Translated by