通过线路连接矩阵内的点(希望用于道路网络)

时间:2016-09-07 11:32:57

标签: matlab matlab-figure

为了帮助解决这个问题,我提供了以下图片

enter image description here

这个图像基本上由3个pcolor图组成(为了这个问题,单个红色单元很重要)。

洋红色方块是我感兴趣的方块。在绘制品红色正方形的矩阵中,只有品红色条目具有值,其余为NaN。品红色正方形(或部分正方形)的中心单元都具有相同的值,并且是所有其他洋红色单元中最小的。

我的问题是,有没有办法连接洋红色正方形的中心单元,以形成对道路或桥梁网络的某种解释?我不希望每个洋红色正方形理想地连接到其他所有洋红色正方形,但总体任务是否可能(用矩阵连接矩阵内的点)?

谢谢,如果您不确定我的意思,请询问更多信息。

编辑:每个脚本运行随机生成洋红色正方形(就像地形图层一样)因此我不能简单地只是根据已知的起点和终点绘制线条

1 个答案:

答案 0 :(得分:0)

一些现有的Matlab工具箱可能会更好地处理这个问题。但是,使用一些原始工具来做这件事也是可能的。

假设您拥有品红色正方形"的中心单元格的坐标。

% Create some example points
points = [...
    40 80; ...
    70 85; ...
    60 90; ...
    45 110; ...
    120 10; ...
    120 60; ...
    125 70; ...
    55 120; ...
    ];
n = size(points, 1);

首先,您需要获得所有索引组合(许多方法)

% Get all unique combinations
[pComb(:,1) pComb(:,2)] = find(triu(ones(n),1));

然后绘制组合点的线

% Plot the points
plot(points(:,1),points(:,2),'om'); 
% Plot the lines between
for i = 1:size(pComb,1)
    line(points(pComb(i,:),1), points(pComb(i,:),2))
end