MATLAB: How to position a data, in an array of coordinates

MATLABmatrix

How to position a data, in an array of coordinates? I want to create an array of longitude, latitude and temperature? I don't want to interpolate, just position the data.
example:
I have the data in columns
Lon =
-78 -76 -77 -76
Lat =
-29 -29 -30 -31
T =
12 8 9 9
and I want to position in an matrix, like this ยก
Lat =
-29 -29 -29
-30 -30 -30
-31 -31 -31
Lon =
-78 -77 -76
-78 -77 -76
-78 -77 -76
T =
12 NaN 8
NaN 9 NaN
NaN NaN 9
Regards Claudio

Best Answer

[uLat, uLat_a, uLat_b] = unique(Lat);
[uLong, uLong_a, uLong_b] = unique(Lon);
T = accumarray( [uLat_b(:), uLong_b(:)], T(:), [], @mean, NaN );
[Lat, Lon] = ndgrid(uLat, uLong);