size reduction and addition operator

14 vues (au cours des 30 derniers jours)
Hernaldo Leyton
Hernaldo Leyton le 17 Mai 2016
Commenté : the cyclist le 18 Mai 2016
I have a file with 5 dimensions netcdf, longitude, latitude, levels, days and hours of pollutant emissions (224x178x7x7x24). I need to add (sum) all emissions of every hour of every day and all levels and also reduce the dimension of five to two dimensions. As a result I should be a matrix of latitude and longitude data combined emissions of the last three dimensions of netcdf file. Do I can indicate what form please? First of all, Thanks

Réponse acceptée

the cyclist
the cyclist le 18 Mai 2016
I'm not sure I understand, but does this code do what you want?
% Some pretend data
netcdf = rand(224,178,7,7,24);
% Sum over each dimension in turn
sum5 = sum(netcdf,5);
sum4 = sum(sum5,4);
sum3 = sum(sum4,3); % This contains the sum for each lat/long.

Plus de réponses (1)

the cyclist
the cyclist le 18 Mai 2016
If the other answer I submitted is what you intended, you can get the same thing with the following one-liner:
% Some pretend data
netcdf = rand(224,178,7,7,24);
sum3 = sum(reshape(netcdf,224,178,[]),3);
  2 commentaires
Hernaldo Leyton
Hernaldo Leyton le 18 Mai 2016
Thanks very much.
It was just what I needed
Regards
the cyclist
the cyclist le 18 Mai 2016
The best form of thanks is upvoting and/or accepting answers that are helpful. This rewards the contributor, and can point other users to helpful answers.

Connectez-vous pour commenter.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by