天天看点

matlab 混沌系统lorenz实现自抗扰控制

1、内容简介

535-可以交流、咨询、答疑

2、内容说明

3、仿真分析

clc
close all
clear
% parameter
sigma = 10;
rou = 28;
b = 8/3;
delta = 10; % fal function parameter
beta01 = 1000;
beta02 = 3000000;
beta03 = 8000000;
% time define
tstep = 0.001;
tstart = 0;
tend = 100;
t = tstart:tstep:tend;
% init x
x1_0 = -4.47;
x2_0 = -0.505;
x3_0 =28.02;
% define the x
x1 = zeros(1,length(t));
x1(1) =  x1_0;
x2 = zeros(1,length(t));
x2(1) =  x2_0;
x3 = zeros(1,length(t));
x3(1) =  x3_0;

y1 = zeros(1,length(t));
y1(1) =  x1(1);
y2 = zeros(1,length(t));
y2(1) =  sigma*(x2(1)-x1(1));
y3 = zeros(1,length(t));
y3(1) = 380*x1(1)-110*x2(1)-10*x1(1)*x3(1);

z1 = zeros(1,length(t));
z1(1) =  y1(1);
z2 = zeros(1,length(t));
z2(1) =  y2(1);
z3 = zeros(1,length(t));
z3(1) =  y3(1);

for i=1:length(t)-1
    % Euler method
    x1(i+1)=tstep*sigma*(x2(i)-x1(i))+x1(i);
    x2(i+1)=tstep*(rou*x1(i)-x2(i)-x1(i)*x3(i))+x2(i);
    x3(i+1)=tstep*(-b*x3(i)+x1(i)*x2(i))+x3(i);
    
%     y3(i+1)=tstep*(-6880*x1(i)+3910*x2(i)+236.67*x1(i)*x3(i)-100*x2(i)*x3(i)+10*x1(i)^2*x2(i))+y3(i);
%     y2(i+1)=tstep*y3(i)+y2(i);
%     y1(i+1)=tstep*y2(i)+y1(i);
    
    y1(i+1) = x1(i+1);
    y2(i+1) = sigma*(x2(i+1)-x1(i+1));
    y3(i+1) = 380*x1(i+1)-110*x2(i+1)-10*x1(i+1)*x3(i+1);
    
    e = z1(i)-y1(i);
    alpha1 = 0.5;
    if e<=delta
        fe1 = e/delta^(1-alpha1);
    else
        fe1 = abs(e)^alpha1*sign(e);
    end
    alpha2 = 0.25;
    if e<=delta
        fe2 = e/delta^(1-alpha2);
    else
        fe2 = abs(e)^alpha2*sign(e);
    end
    
    z3(i+1)=tstep*(-1*beta03*fe2)+z3(i);
    z2(i+1)=tstep*(z3(i)-beta02*fe1)+z2(i);
    z1(i+1)=tstep*(z2(i)-beta01*e)+z1(i);
    
end
figure
plot(t,x1)
xlabel 时间/s
ylabel x_1
grid on
figure
plot(t,x2)
xlabel 时间/s
ylabel x_2
grid on
figure
plot(t,x3)
xlabel 时间/s
ylabel x_3
grid on
figure
plot3(x1,x2,x3)
xlabel x_1
ylabel x_2
zlabel x_3
grid on

figure
plot(t,y1)
xlabel 时间/s
ylabel y_1
grid on
figure
plot(t,y2)
xlabel 时间/s
ylabel y_2
grid on
figure
plot(t,y3)
xlabel 时间/s
ylabel y_3
grid on

figure
plot(t,z1)
xlabel 时间/s
ylabel z_1
grid on
figure
plot(t,z2)
xlabel 时间/s
ylabel z_2
grid on
figure
plot(t,z3)
xlabel 时间/s
ylabel z_3
grid on

err11 = y1-z1;
err21 = y2-z2;

figure
plot(t,y1,t,z1)
xlabel 时间/s
ylabel y_1
grid on
legend('y','z')
figure
plot(t,y2,t,z2)
xlabel 时间/s
ylabel y_2
grid on
legend('y','z')

figure
plot(t,err11)
xlabel 时间/s
ylabel err1
grid on
figure
plot(t,err21)
xlabel 时间/s
ylabel err2
grid on
      
matlab 混沌系统lorenz实现自抗扰控制
matlab 混沌系统lorenz实现自抗扰控制
matlab 混沌系统lorenz实现自抗扰控制
matlab 混沌系统lorenz实现自抗扰控制

继续阅读