在matlab解决图论问题中 怎么绘制无向图

2025-04-08 08:23:53
推荐回答(1个)
回答1:

N = 20; % 随机生成点的数量
x = rand(N,1); % 生成点的坐标
y = rand(N,1);
L = rand(N,N) > 0.9; % 随机生成连接关系(随机数大于门限值0.9为有连接)
D = round(squareform(pdist([x y]))*100)/100; % 计算各节点距离(保留两位小数)

DG = sparse(D.*L); % 用稀疏矩阵表示图
UG = tril(DG + DG'); % 转换为无向图
view(biograph(UG,[],'ShowArrows','off','ShowWeights','on'));% 显示图