how to find a mean across rows
2 views (last 30 days)
Show older comments
i have a code that produces a matrix, i want it to find the mean across the rows rather than down each column. i tried the below but keep getting an error.
??? In an assignment A(I) = B, the number of elements in B and
I must be the same.
lambdaMJ = 7.2;
MJ_Flow = (30/60)*2;
A = 100;
B = 70;
C = 4;
D = B + C;
E = A - B - C;
for a = 1:5;
Num_cylces = 1;
XMJ=(poissrnd(lambdaMJ, A, Num_cylces));
lambdaMJ_sec(a) = mean(XMJ)/10;
FMJ_cars_wait = @(T11,MJ_V11) (lambdaMJ_sec(a));
[T11,MJ_V11] = ode45(FMJ_cars_wait,[0,E],MJ_Flow);
Major11(a) = mean(MJ_V11,2); %CANT GET THIS TO WORK
end
0 Comments
Accepted Answer
Image Analyst
on 4 Oct 2013
Edited: Image Analyst
on 5 Oct 2013
What is the loop for? It's not needed. Just do this:
Major11 = mean(MJ_V11,2);
If MJ_V11 changes inside the loop, then you can still have it in the loop:
for a = 1 : 5 % No() or ; needed
MJ_V11 = whatever.....
Major11(a) = mean(MJ_V11(a,:),2);
end
Note how I added an index to Major11 so that it doesn't get overwritten every time.
8 Comments
Image Analyst
on 5 Oct 2013
That's because you had
for a = 1:5
If you want all the rows, you need to go over all the rows, not just 5 of them:
[rows, columns] = size(MJ_V11);
for a = 1 : rows
More Answers (0)
See Also
Categories
Find more on Loops and Conditional Statements in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!