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

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

(0)
上一篇 2022年10月1日 上午8:00
下一篇 2022年10月1日 上午8:16


相关推荐

  • 作用域插槽(作用域插槽传值)

    作用域插槽一:假设第一个场景,需要你写一个商品卡片组件,并通过循环去展示多个卡片,并且要求能响应每个卡片上的图片或者其他内容的点击事件而跳转到商品详情页,你会怎么写?我会使用如下的处理方式,首先将商品卡片写成一个组件Commodity.vue,而在CommodityList.vue中用一个v-for来处理商品卡片列表的展示。<commodityv-for=”(item,index)incommodities”@clickCommodity=”onCommodityClick”>&l

    2022年4月13日
    528
  • docker部署web项目_docker web管理工具

    docker部署web项目_docker web管理工具前言前面我们运行的容器并没有一些什么特别的用处。接下来让我们尝试使用docker构建一个web应用程序。我们将在docker容器中运行一个PythonFlask应用来运行一个web

    2022年7月29日
    9
  • woe分析_特征工程中的IV和WOE详解

    woe分析_特征工程中的IV和WOE详解1 IV 的用途 IV 的全称是 InformationV 中文意思是信息价值 或者信息量 我们在用逻辑回归 决策树等模型方法构建分类模型时 经常需要对自变量进行筛选 比如我们有 200 个候选自变量 通常情况下 不会直接把 200 个变量直接放到模型中去进行拟合训练 而是会用一些方法 从这 200 个自变量中挑选一些出来 放进模型 形成入模变量列表 那么我们怎么去挑选入模变量呢 挑选入模变量过程是个比较复

    2026年3月17日
    2
  • dede 提交表单 发送邮件

    dede 提交表单 发送邮件

    2021年10月7日
    36
  • 批处理操作系统

    批处理操作系统nbsp nbsp nbsp nbsp 批处理是指计算机系统对一批作业自动进行处理的技术 它不具有交互性 而是为了提高 CPU 的利用率而提出的一种操作系统 nbsp nbsp nbsp nbsp 批处理操作系统分单道批处理系统和多道批处理系统 nbsp nbsp nbsp nbsp 在单道批处理系统中 内存中仅有一道作业 它无法充分利用系统中的所有资源 致使系统性能较差 nbsp nbsp nbsp nbsp 在多道操作批处理系统中 用户提交的作业都存放在外存中 并形成队列 这个队

    2026年3月20日
    2
  • sqlSessionFactory异常

    sqlSessionFactory异常org.springframework.beans.factory.BeanCreationException:Errorcreatingbeanwithname‘sqlSessionFactory’definedinclasspathresource[spring/applicationContext.xml]:Invocationofinitmethodfai…

    2022年4月29日
    45

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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