时滞模型的matlab编程_adams多体动力学仿真视频

时滞模型的matlab编程_adams多体动力学仿真视频Matlab仿真含时滞多智体一致性分析,附代码系统结构如下图所示:clear;clc;%2014_多智能体网络的一致性问题研究_纪良浩%此为Paper中的示例代码%例2.1:A=[0,0,0.1,0,0;0.1,0,0,0,0;0,0.15,0,0,0;0,0.25,0,0,0;0.2,0,0,0,0;];D=[0,0,0,0,0;

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

Matlab 仿真含时滞多智体一致性分析,附代码

系统结构如下图所示:
在这里插入图片描述

clear;
clc;
% 2014_多智能体网络的一致性问题研究_纪良浩
% 此为Paper中的示例代码
% 例2.1:
A = [0,   0,    0.1, 0, 0;
     0.1, 0,    0,   0, 0;
     0,   0.15, 0,   0, 0;
     0,   0.25, 0,   0, 0;
     0.2, 0,    0,   0, 0;];

D = [0, 0, 0, 0, 0;
     0, 0, 0, 0, 0;
     0, 0, 0, 0, 0;
     0, 0, 0, 0, 0;
     0, 0, 0, 0, 0;];

% 各节点间的通信时滞如下
T13 = 1.0;
T21 = 0.75;
T32 = 1.8;
T42 = 2.0;
T51 = 0.8;
% 输入时滞如下
T = 0.3;
% 各节点的随机初始状态如下
X = [2, 3.5, 2.5, 3, 5;]';
U = [0, 0, 0, 0, 0;]';

%% 更改时滞格式
% 各节点间的通信时滞如下
T13 = 10;
T21 = 7;
T32 = 18;
T42 = 20;
T51 = 8;
% 输入时滞如下
T = 3;
% 为了防止开始收敛前无状态,特扩充收敛前的状态
t = 0;
for i = 1:20
   X(:, i+1) = X(:, i);
   U(:, i+1) = U(:, i);
   t(:, i+1) = t(:, i)+0.1;
   i = i + 1;
end

%%
% 仿真相关参数如下
tBegin = 0;
tEnd   = 60;
dt     = 0.1;
times  = (tEnd - tBegin)/dt;
time   = 1;


% 计算过程如下
while (time <= times)
    % 时间记录
    t(1, time+20) = tBegin + dt * time + 19*0.1;
    % 控制输入分别为
    j = X(3, time+20-T13);
    i = X(1, time+20-T);
    a = A(1,3);
    U(1, time+20) = sum( a * (j-i) );
    U(2, time+20) = sum( A(2,1) * (X(1, time+20-T21)-X(2, time+20-T)) );
    U(3, time+20) = sum( A(3,2) * (X(2, time+20-T32)-X(3, time+20-T)) );
    U(4, time+20) = sum( A(4,2) * (X(2, time+20-T42)-X(4, time+20-T)) );
    U(5, time+20) = sum( A(5,1) * (X(2, time+20-T51)-X(5, time+20-T)) );
    % 状态更新为
    X(1, time+21) = X(1, time+20) + U(1, time+20) * dt;
    X(2, time+21) = X(2, time+20) + U(2, time+20) * dt;
    X(3, time+21) = X(3, time+20) + U(3, time+20) * dt;
    X(4, time+21) = X(4, time+20) + U(4, time+20) * dt;
    X(5, time+21) = X(5, time+20) + U(5, time+20) * dt;
    
    time  = time + 1;
end

%% 绘制结果图
subplot(2,1,1);
plot(t,X(1,1:620), t,X(2,1:620), t,X(3,1:620), t,X(4,1:620), t,X(5,1:620), "linewidth",2);
legend("x_1", "x_2", "x_3", "x_4", "x_5");

subplot(2,1,2);
plot(t,U(1,:), t,U(2,:), t,U(3,:), t,U(4,:), t,U(5,:), "linewidth",2);
legend("u_1", "u_2", "u_3", "u_4", "u_5");

下图为默认输入时滞T=0.3s的收敛情况:
在这里插入图片描述

下图为输入时滞T=2.0s的收敛情况:
在这里插入图片描述

Ref:

  1. 2014_多智能体网络的一致性问题研究_纪良浩
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/187232.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 基于ossec logstash es大数据安全关联分析

    基于ossec logstash es大数据安全关联分析

  • C语言魔塔游戏[通俗易懂]

    C语言魔塔游戏[通俗易懂]很早就很想写这个,今天终于写完了。游戏截图:编译环境:VS2017下面我来介绍一下游戏的主要功能和实现方式首先是玩家的定义,使用结构体,这个名字是可以自己改变的structgamerole{ charn…

  • Pytest(6)重复运行用例pytest-repeat[通俗易懂]

    Pytest(6)重复运行用例pytest-repeat[通俗易懂]前言平常在做功能测试的时候,经常会遇到某个模块不稳定,偶然会出现一些bug,对于这种问题我们会针对此用例反复执行多次,最终复现出问题来。自动化运行用例时候,也会出现偶然的bug,可以针对单个用例,

  • 黑苹果MacOS Big Sur 11.0 安装教程及驱动工具

    黑苹果MacOS Big Sur 11.0 安装教程及驱动工具最新黑苹果MacOSBigSur11.0安装教程,附带各电脑EFI驱动合集、原版引导镜像,图文并茂简单易懂…一、准备工作1.一个8G以上的U盘(安装10.15Catalina必须要16G及以上的U盘);2.MacOS镜像、TransMac(刻录工具)、DiskGenius(分区工具)、EasyUEFI(引导工区)、EFI驱动文件。安装工具获取链接:https://pan.baidu.com/s/1pwUVVo1Ud4yxO29k_ckTBw提取码:qs05安装镜像

  • 在S3C2440烧写程序

    在S3C2440烧写程序你好!这里是风筝的博客,欢迎和我一起交流。以JZ2440开发板为例,烧录程序到S3C2440。可以使用dnw软件进行烧录。在windows下,一般dnw的驱动都装不好,一般需要禁止数字签名才能装好。所以我们可以把dnw装到linux下,在linux下烧录程序。 先用filezilla软件和虚拟机里装好的linux建立连接,把dnw移到linux随便一个目录下,比如我是放到/home/b…

  • 五子棋Java课设

    五子棋Java课设五子棋Java课设代码分析过程+(源代码)

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号