反馈线性化matlab仿真
=
+
x
例 1 考虑如下的非线性系统
sin
f x
x
( )
=
⎧
⎨ =
h x
y
( )
⎩
f x
式中, ( )
=
解:该系统为相对阶为一阶的 SISO 系统。
g x u
( )
+
x
sin
=
x
cos
+
, ( ) 5sin
g x
u
5 sin
cos
x
sin
x
x
+
x
。
=
设 ( )
f x 、 ( )g x 的估计值分别为
ˆ( ) 0.9cos
f x
=
x
+
0.95sin
x
4.95sin
ˆ( )
g x
=
那么有
x
fL h
ˆ
gL h
ˆ
=
0.9cos
2
x
+
0.95cos sin
x
x
=
4.95cos sin
x
x
控制器
1 (
L h
ˆ
g
=
u
−
L h
ˆ
f
+
y
M
+
a y
(
M
−
y
))
其中, My 为参考信号,此处为
My
=
sin
t
仿真结果见图 1。
图 1 控制器跟踪效果
Matlab 程序:
clear
clc
x=0;
u=0;
a=100;
Dt=0.001;
t=0;
n=1;
for i=1:10000
%reference signal
ym=sin(t);
dym=cos(t);
Dx=cos(x)+sin(x)+5*sin(x)*u;
x=x+Dx*Dt;
y=sin(x);
u=(-(0.9*cos(x)^2+0.95*cos(x)*sin(x))+dym+a*(ym-y))/(4.95*cos(x)*sin(x));
y_store(:,n)=[y;ym];
u_store(n)=u;
t=t+Dt;
n=n+1;
end
figure(1)
plot((1:n-1)*Dt,y_store(1,:),(1:n-1)*Dt,y_store(2,:))
hold on
例2 考虑如下的非线性系统
1
x
f x x
(
,
)
⎧ =
+
1
1
2
⎪
x
f x x
,
(
)
=
+
⎨
2
2
1
2
⎪ =
h x x
y
x
)
,
(
=
⎩
2
1
1
2
1
,
g x x u
x
x x
)
(
(1.02 1.28 )
2
=
−
1
1
2
1
g x x u
x x
)
(
( 57.17 322.16 )
2
= −
2
1
1
+
−
,
1
2
+ −
x u
( 70.12 360.27 )
2
1
−
解:(1)判断相对阶
gL h =
0
fL h
f=
1
fL L h
g
g=
2
可见,该非线性系统相对阶为 2。
(2)控制器的设计
=
L h
2
f
f
∂
1
x
∂
1
控制器
1
u
=
L L h
g
f
f
1
+
f
∂
1
x
∂
2
f
2
= −
( 1.02 3.84 )[
−
x
2
1
x
2
−
x x
(1.02 1.28 )
2
1
1
+
]
+ −
x x
( 57.17 322.16 )
2
1
1
−
(
−
L h v
2
+
f
)
v=
y
v
=
y
(2)
M
+
a y
(
1
M
−
y
)
+
a y
(
2
M
−
y
)
此处令
My
=
t
sin(2 )
, 1 8
a = , 2 16
a = 。仿真结果见图 2 所示。
图 2 控制器跟踪效果
Matlab 程序:
x1=0;
x2=0;
u=0;
a1=8;
a2=16;
Dt=0.001;
n=1;
t=0;
for i=1:10000
%reference signal
ym=sin(2*t);
dym=2*cos(2*t);
ddym=-4*sin(2*t);
Dx1=x2-(1.02+1.28*x1^2)*x1;
Dx2=(-57.17-322.16*x1^2)*x1+(-70.12-360.27*x1^2)*u;
x1=x1+Dx1*Dt;
x2=x2+Dx2*Dt;
y=x1;
Lf2h=(-1.02-3.84*x1^2)*(x2-(1.02+1.28*x1^2)*x1)+(-57.17-322.16*x1^2)*x1;
LgLfh=-70.12-360.27*x1^2;
v=ddym+a1*(dym-Dx1)+a2*(ym-y);
u=(-Lf2h+v)/LgLfh;
y_store(:,n)=[y;ym];
t=t+Dt;
n=n+1;
end
figure(1)
plot((1:n-1)*Dt,y_store)
xlabel('time/s')
ylabel('y')
legend('y-act','y-ref')
反馈线性化matlab仿真