matlab仿真消息在网络平台的传播

本文通过Matlab仿真,详细探讨了消息在网络平台的传播过程,包括无标度网络的生成,理想模型的构建,以及考虑了不同消息间的相互影响和传播方式差异的分析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

step1代码为网上copy的代码,其余部分原创
step1:生成无标度网络

N = 1000; m0 = 3;m = 3; %初始结点3,度3 节点数N
adjacent_matrix = sparse(m0,m0);%初始化邻接矩阵
for i = 1:m0
    for j = 1:m0
        if j~=i%去掉自身形成的环
            adjacent_matrix(i,j) = 1;%建立初始临界矩阵
        end
    end
end
adjacent_matrix = sparse(adjacent_matrix);
node_degree = zeros(1,m0+1);
node_degree(2:m0+1) = sum(adjacent_matrix);
for iter = 4:N
    iter
    total_degree = 2*m*(iter - 4)+6;
    cum_degree = cumsum(node_degree);
    choose = zeros(1,m);
    %选出第一个和新点相连接的定点
    r1 = rand(1)*total_degree; %计算与已存在点相连的概率
    for i = 1:iter-1
        if(r1>=cum_degree(i))&(r1<cum_degree(i+1))%选取度大的点
            choose(1) = i;
            break
        end
    end
    %选出第二个和新点相连接的顶点
    r2 = rand(1)*total_degree;
    for i = 1:iter-1
        if(r2>=cum_degree(i))&(r2<cum_degree(i+1))
            choose(2) = i;
            break
        end
    end
    while choose(2) == choose(1)
        r2 = rand(1)*total_degree;
        for i = 1:iter-1
            if(r2>=cum_degree(i))&(r2<cum_degree(i+1))
                choose(2) = i;
                break
            end
        end
    end
    %选出第三个和新点相连接的顶点
    r3 = rand(1)*total_degree;
    for i = 1:iter-1
        if(r3>=cum_degree(i))&(r3<cum_degree(i+1))
            choose(3) = i;
            break
        end
    end
    while (choose(3) == choose(1)|choose(3) == choose(2))
        r3 = rand(1)*total_degree;
        for i = 1:iter-1
            if(r3>=cum_degree(i))&(r3<cum_degree(i+1))
                choose(3) = i;
                break
            end
        end
    end
    %把新点加入网络后,对邻接矩阵进行相应的改变!   
    for k = 1:m
        adjacent_matrix(iter,choose(k))=1;
        adjacent_matrix(choose(k),iter)=1;
    end
    node_degree = zeros(1,iter+1);
    node_degree(2:iter+1) = sum(adjacent_matrix);
end
save data adjacent_matrix

step2:理想模型

%所有人接受消息%最初的模型,概率不变,人群相同
adj =adjacent_matrix;%邻接矩阵
num = size(adj);num = num(1);
N = 17;%循环次数
beta = 0.2; %未知者变为传播者概率
alpha = 0.1;%传播者变为超级传播者
delta = 0.3;%超级传播者接受消息变为免疫者
gamma = 0.3;%传播者变为免疫者
I = zeros(num,1); %未知者 0   传播者 1   超级传播者 2     免疫者 -1
im = zeros(N,1); im(1) = num;
s = zeros(N,1);s(1) = 0;
jm = zeros(N,1);jm(1) = 0;
r = zeros(N,1);r(1) = 0;
%信息发布者为超级传播者

for i = 2:1:N
    for j = 1:num
        if (rand(1) < beta)&&(I(j) == 0)%未知者变为传播者
            I(j) = 1;
        end
    end
    for j =
基于MATLAB网络控制系统仿真-基于MATLAB网络控制系统仿真.pdf 基于MATLAB网络控制系统仿真 【英文篇名】The simulation of networked control systems based on MATLAB【作者中文名】[url=]许顺孝[/url];【作者英文名】[url=]XU Shun-xiao(Marine Engineering Institute[/url]; [url=]Jimei University[/url]; [url=]Xiamen[/url]; [url=]Fujian 361021[/url]; [url=]China)[/url];【作者单位】[url=]集美大学轮机工程学院[/url];【文献出处】福州大学学报, Journal of Fuzhou University, 编辑部邮箱 2008年 S1期   期刊荣誉:中文核心期刊要目总览  ASPT来源刊  CJFD收录刊【关键词】[url=]网络控制系统[/url]; [url=]ActiveX[/url]; [url=]MATLAB[/url]; [url=]TrueTime[/url];【英文关键词】[url=]networked control system[/url]; [url=]Active X[/url]; [url=]MATLAB[/url]; [url=]TrueTime[/url];【摘要】介绍了基于TrueTime工具包和Active X技术的仿真平台实现方法.前者是根据网络MAC协议对通信延迟机理进行建模的仿真软件包;后者是针对网络控制系统通信模型仿真困难的缺点而提出,该方法通过ActiveX技术实现了对象模型和控制器通信,为网络控制系统的理论研究提供有效的检验平台.通过对两者的比较指出两种方法的优缺点.【英文摘要】This paper introduces two methods of simulation based on TrueTime and Active X,the first is a soft package which create model according to delay principle of networked MAC protocol,the latter is a new method to deal with the difficulty on the simulation of communication model.This method realizes the communication of the plant model and controller through ActiveX technology,then provides an effective test platform for theory research on NCS.Finally this paper gives the advantage and disadvantage by comparin...
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值