How to get the indices from a matrix and apply it to vectors?

I have a matrix of wind speeds that is 80 x 160. I also have vectors of latitudes (80x1) and longitudes (160x1). I want to be able to find high wind speeds in the matrix and then also use those indices to get the latitudes and longitudes. How could I go about this?

2 Comments

Exactly what you want to do is not clear to me.
Suppose you had this smaller, 3x5 matrix instead (and associated lat/long):
rng default
lat = rand(3,1);
long = rand(5,1);
wind = rand(3,5)
wind = 3×5
0.9575 0.9706 0.8003 0.9157 0.6557 0.9649 0.9572 0.1419 0.7922 0.0357 0.1576 0.4854 0.4218 0.9595 0.8491
Which "high wind speeds" do you want?
So in my matrix, the wind speeds range from 2 to 20 m/s. I want to get the wind speeds that are greater than 15 m/s. I also want to get the lats and lons of those wind speeds that are greater than 15 m/s.

Sign in to comment.

 Accepted Answer

Here is how you can do that, using my small example:
rng default
HIGH_WIND = 0.96; % <------ CHANGE THIS TO 15
lat = rand(3,1);
long = rand(5,1);
wind = rand(3,5);
high_wind = wind(wind>0.96);
[high_wind_lat_idx, high_wind_long_idx] = find(wind>HIGH_WIND);
high_wind_lat = lat(high_wind_lat_idx);
high_wind_long = long(high_wind_long_idx);

More Answers (0)

Categories

Community Treasure Hunt

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

Start Hunting!