# Using for loops in order to find average of matrix

11 views (last 30 days)
Commented: Bob Thompson on 1 Feb 2021
Hi I have a 1000x100000 matrix.
I'd like to know the average of the numbers in each column, so that's 100000 values I'm looking for.
I can use the mean() command, and I'm trying to get this done using for loop and preallocation. What i have atm:
mu = 2;
SD = 3;
m = 1000;
n = 100000;
random_matrix = randn(m,n)*SD + mu;
a=zeros(1,n);
for k=1:m
for h=1:n
a(k,h) = means(random_matrix(k,h));
end
end
I dont know whats wrong arrgh. Can someone help me? I think i am not wrong at all, but my program does not stop running...

Bob Thompson on 1 Feb 2021
You can use mean to average all values in a certain direction.
mu = 2;
SD = 3;
m = 1000;
n = 100000;
random_matrix = randn(m,n)*SD + mu;
a=mean(random_matrix,1);
Bob Thompson on 1 Feb 2021
It means that the size of random_matrix(:,i), means1, and SDs1 don't agree. Either means1 and SDs1 need to be single elements or they need to be the same size as random_matrix(:,i).