Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/16.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.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 如何显示某些参考值的x、y坐标_Matlab - Fatal编程技术网

Matlab 如何显示某些参考值的x、y坐标

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,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

按降序排序,然后获取三个最大元素的位置,然后将线性索引转换为下标索引:

[~,ix]=sort(out(:),'descend')
[x2,y2]=ind2sub(size(out),ix(1:3))

您可以将第3行和第4行替换为
z=randi([5,10],1,4)
,这并不能解决您的问题,但肯定会简化代码。您的示例与所问问题之间的关系并不十分清楚。三个最高值是什么?