Info
이 질문은 마감되었습니다. 편집하거나 답변을 올리려면 질문을 다시 여십시오.
How to perform repeated calculations on a different bin
조회 수: 2 (최근 30일)
이전 댓글 표시
I have split my data into bins (5 million year spacing through time) and then performed calculations to remove NaNs, calculate the mean and calculate the standard deviation of the first bin (0-5million years).
I was just wandering if there is an easy way of repeating all of these calculations for the remaining bins (5-10myr, 10-15myr....etc)?
Thanks Charlie
답변 (2개)
Steven Lord
2016년 10월 25일
Use discretize to bin your data then use the output from discretize as the subs input to accumarray.
% Sample data
n = 10;
x = n*rand(100, 1);
y = (1:100).';
% Bin it and accumulate the data in each bin
bin = discretize(x, 0:n);
A1 = accumarray(bin, y, [n 1], @mean);
% Accumulate the data in the bins using a FOR loop
A2 = zeros(n, 1);
for k = 1:n
A2(k) = mean(y(bin == k));
end
% These two results should be the same
[A1, A2, A1-A2]
댓글 수: 0
이 질문은 마감되었습니다.
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!