如何从坐标制作完整的图形。

1次查看(最近30天)
Verma阿施施
Verma阿施施 2021年8月12日
X =[0.3,5.6, -8.4,6.4]这是我的x坐标
y = (4.6, 6.9, 3.6, 7.89)这是y坐标
我想绘制完全无向图,结点之间有边权。

接受的答案

Chunru
Chunru 2021年8月12日
编辑:Chunru 2021年8月12日
显示节点名称、边缘权重/距离和节点坐标
X =[0.3,5.6, -8.4,6.4];这是我的x坐标
y = (4.6, 6.9, 3.6, 7.89);这是y坐标
n =长度(x);
图g = ((n, n),“omitselfloops”);%完全图
(g.Edges g.Edges.Weight = 0(大小。EndNodes 1) 1);
%边距
i = 1:尺寸(g。边缘,1)
g.Edges.Weight (i) =规范([x (g.Edges.EndNodes(我,2))- x (g.Edges.EndNodes(我,1))...
2) y (g.Edges.EndNodes(我)- y (g.Edges.EndNodes(我,1))));
结束
g.Nodes.Name = [“一个”“B”“C”“D”]“;%节点名
% g.Edges。权重= randi([20,90], [6,1]);% weigth %[1:6]”
h =情节(g,“NodeLabel”g.Nodes.Name,“EdgeLabel”, g.Edges.Weight);
h.XData = x;
h.YData = y;
2的评论
Chunru
Chunru 2021年8月12日
这些数字是权重而不是节点号。重量是一个随机数。

登录评论。

更多的答案(3)

沃尔特·罗伯森
沃尔特·罗伯森 2021年8月12日
X =[0.3,5.6, -8.4,6.4]这是我的x坐标
x = 1×4
0.3000 5.6000 -8.4000 6.4000
y = (4.6, 6.9, 3.6, 7.89)这是y坐标
y = 1×4
4.6000 6.9000 3.6000 7.8900
nx =长度(x);
CG = ones(nx, nx);
CG (1: nx + 1:结束)= 0;
图G = (CG)
G =
使用属性:Edges: [6×2 table] Nodes: [4×0 table]
情节(G,“XData”, x,“YData”, y)
5个评论
沃尔特·罗伯森
沃尔特·罗伯森 2021年8月12日
X =[0.3,5.6, -8.4,6.4]这是我的x坐标
x = 1×4
0.3000 5.6000 -8.4000 6.4000
y = (4.6, 6.9, 3.6, 7.89)这是y坐标
y = 1×4
4.6000 6.9000 3.6000 7.8900
drawtext (pdist([x(:), y(:)]));
[s, t, w] = 1;
图(s, t, w,2);
G.Nodes.Names = {“一个”“B”“C”' D '} ';
情节(G,“XData”, x,“YData”, y,“EdgeLabel”G.Edges.Weight,“NodeLabel”, G.Nodes.Names);

登录评论。


Verma阿施施
Verma阿施施 2021年8月12日
先生,抱歉说重量,我必须说点之间的距离。

Verma阿施施
Verma阿施施 2021年8月12日
先生,我不想随便加重量。例如,从x(0.3, 5.6)和y(4.6, 6.9)取两个元素,那么点之间的距离将是根号((4.6-0.3)^2 +(6.9-5.6)^2)= 4.49。

标签

社区寻宝

在MATLAB中心找到宝藏,并发现社区如何可以帮助你!

开始狩猎!