findm - Latitudes and longitudes of nonzero data grid elements

Syntax

[lat,lon] = findm(Z,refvec)
[lat,lon] = findm(latz,lonz,Z)
[lat,lon,val] = findm(...)
mat = findm(...)

Description

[lat,lon] = findm(Z,refvec) computes the latitudes and longitudes of the nonzero elements of a regular data grid, Z. The variable refvec is a 1-by-3 referencing vector containing elements:

[cells/degree northern_latitude_limit western_longitude_limit]

All input and output angles are in units of degrees.

[lat,lon] = findm(latz,lonz,Z) returns the latitudes and longitudes of the nonzero elements of a geolocated data grid Z, which is an M-by-N logical or numeric array. Typically latz and lonz are M-by-N latitude-longitude arrays, but latz may be a latitude vector of length M and lonz may be a longitude vector of length N.

[lat,lon,val] = findm(...) returns the values of the nonzero elements of Z, in addition to their locations.

mat = findm(...) returns a single output, where mat = [lat lon].

This function works in two modes: with a regular data grid and with a geolocated data grid.

Example

The data grid can be the result of a logical operation. For instance, you can find all locations with elevations greater than 5500 meters.

load topo
[lat, lon] = findm((topo>5500),topolegend);
[lat lon]

ans =
   34.5000   79.5000
   34.5000   80.5000
   30.5000   84.5000
   28.5000   86.5000

These points are in the Himalayas. Find the grid values at these locations with setpostn:

heights = topo(setpostn(topo,topolegend,lat,lon))

heights =
        5559
        5515
        5523
        5731

Use a regular data grid to retrieve the elevations from setpostn.

See Also

find (MATLAB function), setpostn

  


 © 1984-2008- The MathWorks, Inc.    -   Site Help   -   Patents   -   Trademarks   -   Privacy Policy   -   Preventing Piracy   -   RSS