创建一个n*n网格无向图

2次浏览(过去30天)
安德里亚·迪·马蒂诺
安德里亚·迪·马蒂诺 2021年11月4日
大家好,我不知道怎么解决这个问题。我正在用matlab处理无向图。我用下面的代码创建了15个节点的图:
S = [1 11 2 2 2 2 2 3 3 3 3 4 4 4 4 4 5 5 5 6 8 10 2 11 7 8 10 10 10 11 13 15];
T = [2 6 7 3 6 7 8 8 4 7 8 9 5 8 9 10 13 9 10 11 14 13 11 14 12 9 14 13 15 15 15 14 12];
G =图(s,t);
现在我需要在网格形状中创建一个具有100个节点的图形。如下图所示:
在这段代码中:
网格=重塑(1:10 0、10、10)';
网格=
1 2 3 4 5 6 7 8 9 10
11 12 13 14 15 16 17 18 19 20
21 22 23 24 25 26 27 28 29 30
31 32 33 34 35 36 37 38 39 40
41 42 43 44 45 46 47 48 49 50
51 52 53 54 55 56 57 58 59 60
61 62 63 64 65 66 67 68 69 70
71 72 73 74 75 76 77 78 79 80
81 82 83 84 85 86 87 88 89 90
91 92 93 94 95 96 97 98 99 100
我能够创建一个数字网格,但我怎么能把它变成一个像以前的图片一样的图形?

答案(1)

KSSV
KSSV 2021年11月4日
[x,y] = meshgrid(1:10);
dt = delaunayTriangulation(x(:),y(:));
triplot (dt)
2的评论
安德里亚·迪·马蒂诺
安德里亚·迪·马蒂诺 2021年11月9日
是的。我没有在这里写权重的结构,以避免无聊的东西,但最后我只是这样做:
n = length(G.Nodes.x);
I = 1:n
G.Edges.Weight(i) = weights(i);
结束
p = plot(G,“MarkerSize”10“线宽”2,“EdgeLabel”G.Edges.Weight,“EdgeFontSize”5);

登录评论。

类别

了解更多图与网络算法帮助中心而且文件交换

标签

s manbetx 845


释放

R2021b

社区寻宝

在MATLAB Central中找到宝藏,并发现社区如何帮助您!

开始狩猎!

翻译的