%改变了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)%速度

在这里插入图片描述

Logo

Agent 垂直技术社区,欢迎活跃、内容共建,欢迎商务合作。wx: diudiu5555

更多推荐