Clear Filters
Clear Filters

Extract matrix from matrix

2 views (last 30 days)
Chihiro Omori
Chihiro Omori on 12 Apr 2019
Commented: Bob Thompson on 12 Apr 2019
The datasets I am using are
  • latmat.mat (172*172)....latitude data
  • lonmat.mat(172*172)...longitude data
  • CH4.mat (172*172)...air pollutant emission data[mol/sec]
I would like to make smaller matrix within those ranges below because the original datasets are too large to deal with.
  1. 70W<Longitude<75W
  2. 40N<Latitude<43N
Three datasets(lat.mat, lon.mat, CH4.mat) have to meet the conditions above.
How can I extract the datasets and make new matrix?

Answers (1)

Bob Thompson
Bob Thompson on 12 Apr 2019
In general you should be able to do this with logic indexing fairly easily. I'm a little confused though how or why you have a 2D matrix of longitude and of latitude. Are each row or column duplicates (such that together they make a field of all lat and long combinations?
For the sake of the example I'm going to assume that latitudes only change with each row, and longitude only change with each column. Also assuming that north is postive, and west is negative. It is possible to do this with strings (for number and direction combination), but it seems unnecessarily complicated.
lats = latmat(latmat(:,1)>= 40 & latmat(:,1)<=43,lonmat(1,:)<=-70 & lonmat(1,:)>=-73);
lons = lonmat(latmat(:,1)>= 40 & latmat(:,1)<=43,lonmat(1,:)<=-70 & lonmat(1,:)>=-73);
CH4s = CH4(latmat(:,1)>= 40 & latmat(:,1)<=43,lonmat(1,:)<=-70 & lonmat(1,:)>=-73);
  2 Comments
Chihiro Omori
Chihiro Omori on 12 Apr 2019
I ran the code but all of them (lats, lons, CH4s) are empty.
lats = []
lons = []
CH4s = []
Is it supposed to be matrix?
Bob Thompson
Bob Thompson on 12 Apr 2019
Most likely it will need some adapting. I don't have the ability to download your files, sorry, so I can't personalize it very much for you. Do you understand what the code I posted is supposed to be doing? I would be happy to help you understand if not.
Basically, I expect that they are all empty because it is not finding values or ranges which match the conditions I set, so you will need to adjust the conditions to make them work.

Sign in to comment.

Categories

Find more on Cell Arrays in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!