How do I calculate yearly average value for large data set with uneven time spacing?
Mostra commenti meno recenti
I want to calculate yearly average value of 'd18O PDB' from the following data set (1984-1707):
I have downloaded the text file into 2723 times 2 array and changed ('floored') the year to a whole number but I don't know how to go from there. Since the time spacing is uneven, it is hard to figure out how to solve the average value efficiently.
Risposta accettata
Più risposte (1)
David Young
il 7 Lug 2015
If your 2-column matrix is A, try:
years = floor(A(:,1));
data = A(:,2);
means = accumarray(years, data) ./ accumarray(years, ones(size(data)));
This should give you an array of means, indexed by year, with NaN in those years for which there is no data.
1 Commento
Tats the Tasmania
il 8 Lug 2015
Categorie
Scopri di più su Creating and Concatenating Matrices in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!