size reduction and addition operator

2 Ansichten (letzte 30 Tage)
Hernaldo Leyton
Hernaldo Leyton am 17 Mai 2016
Kommentiert: the cyclist am 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

Akzeptierte Antwort

the cyclist
the cyclist am 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.

Weitere Antworten (1)

the cyclist
the cyclist am 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 Kommentare
Hernaldo Leyton
Hernaldo Leyton am 18 Mai 2016
Thanks very much.
It was just what I needed
Regards
the cyclist
the cyclist am 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.

Melden Sie sich an, um zu kommentieren.

Community Treasure Hunt

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

Start Hunting!

Translated by