📄 recurrent.m
字号:
%extremum_RNN
clear;
clc;
simustep=0.001;
theta=4;
x1=4;
x2=0;
c=[0 1 0]';
y=[20 20 0.01]';
z2=[0 0 0]';
mu=0.25;%mu=5.6555;
t=0;
j=1;
for i=0:150000
A2=[1 -sign(y(1)) 0;-20*(x1-5)*x2/(y(1)) 0 0;0 0 y(1)];
ratelast=-20*(x1-5)*x2;
b2=[0 ratelast ratelast]';
dy=-mu*[c*(c'*y-b2'*z2)+A2'*(A2*y-b2)];
dz2=-mu*[-b2*(c'*y-b2'*z2)+A2*(A2'*z2-c)];
y=y+dy*simustep;
z2=z2+dz2*simustep;
dtheta=y(3);
theta=theta+dtheta*simustep;
u=-30*(x1-theta)-11*x2;
dx2=u;
x2=x2+dx2*simustep;
dx1=x2;
x1=x1+dx1*simustep;
yout=-10*(x1-5)^2+10;
t=t+simustep;
if (mod(i,50)==0)
ddy1(j)=dy(1);
ddy2(j)=dy(2);
ddy3(j)=dy(3);
yy1(j)=y(1);
yy2(j)=y(2);
yy3(j)=y(3);
thetaout(j)=theta;
uu(j)=u;
xx2(j)=x2;
xx1(j)=x1;
fmin(j)=yout;
tt(j)=t;
j=j+1;
end;
end;
x1
yout
clf;
plot(tt,yy1);
figure;
plot(tt,yy2);
figure;
plot(tt,yy3);
figure;
plot(tt,thetaout);
figure;
plot(tt,uu);
figure;
plot(tt,xx2);
figure;
plot(tt,xx1);
figure;
plot(tt,fmin);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -