Matlab 如何在绘图区域中搜索绘图点的位置

Matlab 如何在绘图区域中搜索绘图点的位置,matlab,plot,Matlab,Plot,我试图找出如何让matlab“搜索”我的10 x 10坐标图中的中心点,这些坐标链接到10 x 10矩阵。我有一个随机生成的10 x 10矩阵,由“0”和“1”组成,每个元素都映射到绘图中的x坐标和Y坐标,因此,只要矩阵中有“1”,我就在绘图中绘制一颗星星。我的问题是,我想搜索网格中从(100100)一直到(19001900)我正在绘制的每个单元格,如果有一个“星”绘制,我想搜索看看是否有更多的“星”被绘制在这颗星后面的矩形区域,比如400 x 2000,并找到它们的坐标。(100100)到(1

我试图找出如何让matlab“搜索”我的10 x 10坐标图中的中心点,这些坐标链接到10 x 10矩阵。我有一个随机生成的10 x 10矩阵,由“0”和“1”组成,每个元素都映射到绘图中的x坐标和Y坐标,因此,只要矩阵中有“1”,我就在绘图中绘制一颗星星。我的问题是,我想搜索网格中从(100100)一直到(19001900)我正在绘制的每个单元格,如果有一个“星”绘制,我想搜索看看是否有更多的“星”被绘制在这颗星后面的矩形区域,比如400 x 2000,并找到它们的坐标。(100100)到(1900, 1900)位置的原因是因为我绘制的每个单元格是200×200,而我在每个单元的中间绘制星图。这是代码,我要看看情节是什么样子

清除所有 全部关闭 clc

谢谢


大卫

定义“背后”。如果您要查找共享一行/一列的点,则根据原始矩阵
v
,而不是绘图坐标更容易操作。顺便说一句,您似乎实现了该函数的一个版本。@与此不同,我希望matlab执行的搜索函数是从“星”的左下角开始,因此“后面”将是第一颗星“向上”的任何细胞。在这种情况下,(100100)将是1号星,(300100)将是3号星。所以在星号1后面,我希望它搜索星号1所在列左右的垂直列,一直搜索到网格的“顶部”。
xmin = 100;
xmax = 1900;
ymin = 100;
ymax = 1900;

n=10;
v=randi([0,1],n);
[vx,vy] = find(v);

x = linspace(xmin,ymax,n);
y = linspace(ymin,ymax,n);

vx = x(vx);
vy = y(vy);

scatter(vx,vy, '*');
axis([0 2000 0 2000]);
grid
v