Matlab 如何显示某些参考值的x、y坐标
我有一些随机生成的值,并归因于一些x,y坐标。但是,我想提取三个最高值的坐标(x,y),并将它们显示为3×2矩阵Matlab 如何显示某些参考值的x、y坐标,matlab,Matlab,我有一些随机生成的值,并归因于一些x,y坐标。但是,我想提取三个最高值的坐标(x,y),并将它们显示为3×2矩阵 x = [1 1 10 10]; y = [1 10 1 10]; rand_val (1,:) = [randi([5,10],1),randi([5,10],1),randi([5,10],1),randi([5,10],1)]; z = rand_val out = zeros(10); out(sub2ind(size(out),x,y)) = z 按降序排序,然后获取三
x = [1 1 10 10];
y = [1 10 1 10];
rand_val (1,:) = [randi([5,10],1),randi([5,10],1),randi([5,10],1),randi([5,10],1)];
z = rand_val
out = zeros(10);
out(sub2ind(size(out),x,y)) = z
按降序排序,然后获取三个最大元素的位置,然后将线性索引转换为下标索引:
[~,ix]=sort(out(:),'descend')
[x2,y2]=ind2sub(size(out),ix(1:3))
您可以将第3行和第4行替换为
z=randi([5,10],1,4)
,这并不能解决您的问题,但肯定会简化代码。您的示例与所问问题之间的关系并不十分清楚。三个最高值是什么?