我是靠谱客的博主 故意小蜜蜂,最近开发中收集的这篇文章主要介绍【Matlab 控制】多智能体一致性收敛仿真,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

%改变了Laplacian函数里面的FAI矩阵,使得状态收敛至静态值,
clc;
clear;

% 初始化
X0  = [-3, 2, 1, -1,4]';                               % 初始位置
DX0 = [0.3, 0.1, 0.5, 0.2, 0.4]';                      % 初始速度
Y1  = [X0; DX0];                                       % 积分初值
n   = 5;
n   = length(X0);
A =[0 1 0 -1 1;
    0 0 1 0 0;
    1 0 0 0 0;
    0 0 0 0 1;
    0 0 0 1 0];                                     % 邻接矩阵,有向拓扑结构
D =[1 0 0 0 0;
    0 1 0 0 0;
    0 0 1 0 0;
    0 0 0 1 0;
    0 0 0 0 1];                                     % 度矩阵,有向拓扑结构
L = D - A;

gama  = 1.2547;
k     = 0.5;
% 构造矩阵FAI
FAI   = [zeros(n,n), eye(n); 
       -L, -k*eye(n)-gama*L]; 


tBegin = 0;
tEnd   = 10;
h      = 0.1;
times = (tEnd-tBegin) / h;
Y(:,1) = Y1;
t(1) = tBegin;

i = 1;
% 从1到100循环了100次
while(i <= times)
    K1 = h * FAI * Y(1:10,i);
    K2 = h * FAI * Y(1:10,i) + K1/2;
    K3 = h * FAI * Y(1:10,i) + K2/2;
    K4 = h * FAI * Y(1:10,i) + K3;
    t(i+1) = t(i) + h;
    Val = (K1+2*K2+2*K3+K4)/6;
    Y(1:10,i+1) = Y(1:10,i) + Val;
    i = i+1;
end

% 显示
subplot(2,1,1)
plot(t,Y(1,:), t,Y(2,:), t,Y(3,:), t,Y(4,:), t,Y(5,:), 'linewidth',1.5)%位置
subplot(2,1,2)
plot(t,Y(6,:), t,Y(7,:), t,Y(8,:), t,Y(9,:), t,Y(10,:), 'linewidth',1.5)%速度

在这里插入图片描述

最后

以上就是故意小蜜蜂为你收集整理的【Matlab 控制】多智能体一致性收敛仿真的全部内容,希望文章能够帮你解决【Matlab 控制】多智能体一致性收敛仿真所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(61)

评论列表共有 0 条评论

立即
投稿
返回
顶部