緯度のマトリックス、経度のマトリックス、およびこれらの緯度/経度ポイントでの測定値のマトリックスがあります。
一部の緯度/経度ポイントには複数の測定値があります。マトリックスから重複する測定値を削除し、より大きな測定値のみを保持する方法が必要です。
したがって、データを使用すると:
lat = [0,1,2,3,1,2]
lon = [0,1,2,3,1,4]
data = [5,6,7,8,9,10]
測定値が6の(1,1)のデータポイントが削除され、次のようになります。lat= [0,2,3,1,2] lon = [0,2,3,1,4] data = [ 5,7,8,9,10]
あなたは使うことができunique
て'rows'
列があるマトリクス上のオプションlat
とlon
変数。これは、ユニークを提供しますlat
とlon
の組み合わせとそれに渡すことができる指標(第3の出力)を提供しaccumarray
、最大値を返すためdata
の一意の組合せのためlat
とlon
。
% Find the unique combinations of latitude and longitude
[latlon, ~, inds] = unique([lat(:), lon(:)], 'rows', 'stable');
% Find the maximum value in data for each unique lat/lon combo
maxdata = accumarray(inds, data(:), [], @max);
% 5 9 7 8 10
% Expand out latlon variable if needed
latitude = latlon(:,1);
% 0 1 2 3 2
longitude = latlon(:,2);
% 0 1 2 3 4
緯度と経度をdata
値順に並べる必要がある場合(質問で示したように):
[maxdata, ind] = sort(maxdata);
% 5 7 8 9 10
latitude = latlon(ind,1);
% 0 2 3 1 2
longitude = latlon(ind,2);
% 0 2 3 1 4
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加