Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MATLAB:从矩阵中删除重复的lat/lon点和相应的数据点_Matlab_Matrix_Unique - Fatal编程技术网

MATLAB:从矩阵中删除重复的lat/lon点和相应的数据点

MATLAB:从矩阵中删除重复的lat/lon点和相应的数据点,matlab,matrix,unique,Matlab,Matrix,Unique,我有一个纬度矩阵,一个经度矩阵,还有这些纬度/经度点的测量矩阵 某些lat/lon点具有多个测量值。我想要一种从矩阵中删除重复测量值的方法,只保留较大的测量值 因此,根据数据: 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]您可以在矩阵上使用'rows'选项,其中

我有一个纬度矩阵,一个经度矩阵,还有这些纬度/经度点的测量矩阵

某些lat/lon点具有多个测量值。我想要一种从矩阵中删除重复测量值的方法,只保留较大的测量值

因此,根据数据:

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]

您可以在矩阵上使用
'rows'
选项,其中列是
lat
lon
变量。这将为您提供唯一的
lat
lon
组合,并为您提供一个索引(第三个输出),可通过该索引返回
数据中
对于
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
如果您需要按
数据
值排序的纬度和经度(如您在问题中所示):

您可以在矩阵上使用
'rows'
选项,其中列是
lat
lon
变量。这将为您提供唯一的
lat
lon
组合,并为您提供一个索引(第三个输出),可通过该索引返回
数据中
对于
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
如果您需要按
数据
值排序的纬度和经度(如您在问题中所示):