matlab生成一个随机的有向、无向加权图

clear;
clc;
%生成一个有向的加权随机图
Node_num = input("请输入节点个数:");    %输入节点的个数
A = randi(25,Node_num,Node_num);				%生成一个Node_num阶方阵
for i = 1 : Node_num                           %将对角线元素置0
  for j = 1 : Node_num
   p = rand();
   if (p>0.7)
      A(i,j) = inf;
      end;
   if (i == j)
      A(i,j) = 0;
      end;
  end;
end;
disp(A);								%输出A
G = digraph(A);								%将邻接矩阵转换成图
plot(G,'EdgeLabel', G.Edges.Weight, 'linewidth', 2,'layout','circle');	%画图



clear;
clc;
%生成一个无向的随机加权图
Node_num = input("请输入节点个数:");    %输入节点的个数
A = randi(25,Node_num,Node_num);				%生成一个Node_num阶方阵
for i = 1 : Node_num                           %将对角线元素置0
  for j = 1 : Node_num
   p = rand();
   if (p>0.7)
      A(i,j) = inf;
      end;
   if (i == j)
      A(i,j) = 0;
      end;
  end;
end;
A = tril(A);
A = A + A';
disp(A);																%输出A
G = digraph(A);													%将邻接矩阵转换成图
plot(G,'EdgeLabel', G.Edges.Weight, 'linewidth', 2,'layout','circle');	%画图

初学matlab,写得不好多多见谅啦

 

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Cles8it

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值