finding the mean for large data
조회 수: 1 (최근 30일)
이전 댓글 표시
I have 3 rows ans 192 column,i want to find mean for each 9 columns in row wise,
for ex if i have rand(3,192)
taking 3x9 , i need mean in row wise so i will have 3x1 matrix after finding mean
please help
for each 3x9 i want to perform
댓글 수: 2
Image Analyst
2012년 11월 30일
It's not "large" either. Before I read it I thought that he was talking hundreds of millions of elements, not five hundred and something. (And there is a "bug" for the case of calculating the mean for large numbers of singles)
답변 (2개)
Andrei Bobrov
2012년 11월 30일
편집: Andrei Bobrov
2012년 11월 30일
A = rand(3,192);
n = 9;
s = size(A);
out = squeeze(nanmean(reshape([A nan(s(1),mod(-s(2),n))],s(1),n,[]),2));
or
out = blockproc(A,[1 n],@(x)mean(x.data));
or
k = s(2) - rem(s(2),n);
out = [squeeze(mean( reshape(A(:,1:k),s(1),[]),2 )) , mean(A(:,k+1:end),2)];
댓글 수: 0
Jan
2012년 11월 30일
A = rand(3, 192);
B = reshape(A(:, 1:189), 3, 9, []);
C = squeeze(mean(B, 2));
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Spreadsheets에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!