概述
%改变了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 控制】多智能体一致性收敛仿真所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复