how to find a mean across rows
    조회 수: 8 (최근 30일)
  
       이전 댓글 표시
    
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
채택된 답변
  Image Analyst
      
      
 2013년 10월 4일
        
      편집: Image Analyst
      
      
 2013년 10월 5일
  
      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
  Image Analyst
      
      
 2013년 10월 5일
				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
추가 답변 (0개)
참고 항목
카테고리
				Help Center 및 File Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

