用Matlab程序产生连接概率为p=0.1的含100个节点ER随机网络,绘制网络及其度分布,分析其均匀性,并计算其传播阈值。

发布时间 2023-06-08 09:13:22作者: yhm138

要求(可以直接作为Prompt)

用Matlab程序产生连接概率为p=0.1的含100个节点ER随机网络,绘制网络及其度分布,分析其均匀性,并计算其传播阈值。

代码

clear all;close all;clc;
% 参数定义
n = 100; % 节点数量
p = 0.1; % 连接概率

% 产生ER随机网络
G = rand(n, n) < p;
G = triu(G, 1); % 保证网络无向
G = G + G'; % 保证网络无向

% 绘制网络
figure;
G = graph(G);
plot(G);
title('Erdos-Renyi Random Network');

% 计算度分布并绘制
degree_sequence = degree(G);
figure;
histogram(degree_sequence);
title('Degree Distribution');
xlabel('Degree');
ylabel('Frequency');

% 计算传播阈值
average_degree = mean(degree_sequence);
threshold = 1 / average_degree;
disp(['传播阈值: ', num2str(threshold)]);

结果

复现结果如上,PPT中结果如下: