MATLAB是一个很强大的软件,在自动控制领域也是使用非常广泛,本系列博文将基于控制系统仿真进行,参考书籍《MATLAB/Simulink与控制系统仿真》,该系列博文与笔者的自动控制理论(考研篇)互为补充,详细理论知识点请各位移步自动控制理论(考研篇)系列博客。
实战:LRC电路如下,建立该电路的微分方程。
解:
STEP1:确定输入输出;
在RLC电路中,输入量:
u
i
(
t
)
u_i(t)
ui(t),输出量:
u
o
(
t
)
u_o(t)
uo(t),中间变量:
i
(
t
)
i(t)
i(t);
STEP2:列出原始微分方程式;
根据基尔霍夫电压定律、电流定律可得:
L
d
i
(
t
)
d
t
+
R
⋅
i
(
t
)
+
u
o
(
t
)
=
u
i
(
t
)
,
i
(
t
)
=
C
d
u
o
(
t
)
d
t
L\frac{di(t)}{dt}+R·i(t)+u_o(t)=u_i(t),i(t)=C\frac{du_o(t)}{dt}
Ldtdi(t)+R⋅i(t)+uo(t)=ui(t),i(t)=Cdtduo(t)
STEP3:消去中间变量;
L
C
d
2
u
o
(
t
)
d
t
2
+
R
C
⋅
d
u
o
(
t
)
d
t
+
u
o
(
t
)
=
u
i
(
t
)
LC\frac{d^2u_o(t)}{dt^2}+RC·\frac{du_o(t)}{dt}+u_o(t)=u_i(t)
LCdt2d2uo(t)+RC⋅dtduo(t)+uo(t)=ui(t)
建立系统微分方程小结:
注:这里只是通过一个简单的RLC电路例子说明微分方程的建立,很多系统模型是有固定的规律的,请读者移步到自动控制原理(考研)篇或者自己查阅资料来学习。
实战:RLC模型如下,
R
=
1.6
Ω
,
L
=
2.1
H
,
C
=
0.30
F
R=1.6\Omega,L=2.1H,C=0.30F
R=1.6Ω,L=2.1H,C=0.30F,初始状态是电感电流为零,电容电压为
0.2
V
,
t
=
0
0.2V,t=0
0.2V,t=0时接入
1.5
V
1.5V
1.5V的电压,求
0
<
t
<
10
s
0<t<10s
0<t<10s时
i
(
t
)
,
u
o
(
t
)
i(t),u_o(t)
i(t),uo(t)的值,并画出电流与电容电压的关系曲线。
解:
% RLC_main.m文件 % 系统主函数 clear % 清除工作空间变量 t0=0;tfinal=10; % 响应时间 tspan=[t0 tfinal]; x0=[0.2;0]; % 初始化电感电流,电容电压 [t,x]=ode45('rlcsys',tspan,x0); % rlc是系统微分方程描述函数 % 绘制状态响应图 figure(1); subplot(211); plot(t,x(:,1)); grid title('电容电压/V'); xlabel('时间/s'); subplot(212); plot(t,x(:,2)); grid title('电感电流/A'); xlabel('时间/s'); figure(2); vc=x(:,1); i=x(:,2); plot(vc,i); grid title('电感电流与电容电压的关系曲线'); xlabel('电容电压/V'); ylabel('电感电流/A'); % rlcsys.m文件 % 系统rlcsys函数 function xdot=rlcsys(t,x) % 微分方程函数 % 电压、电阻、电感、电容数值 Vs=1.5;R=1.6;L=2.1;C=0.30; xdot=[x(2)/C;1/L*(Vs-x(1)-R*x(2))]; end