RLC开关电路¶
在本节中,我们将介绍另一个模型。正如本章前面部分介绍的传热模型一样,这个模型里包含时间事件。这次,我们将展示如何能够模拟在第一章中介绍的那个RLC电路的开关行为。在介绍了前面的例子后,这个模型应该不会让大家感到意外。介绍这个例子仅仅是为了在电气模型背景下介绍时间事件。
RLC开关电路模型如下:
model SwitchedRLC "An RLC circuit with a switch"
type Voltage=Real(unit="V");
type Current=Real(unit="A");
type Resistance=Real(unit="Ohm");
type Capacitance=Real(unit="F");
type Inductance=Real(unit="H");
parameter Voltage Vb=24 "Battery voltage";
parameter Inductance L = 1;
parameter Resistance R = 100;
parameter Capacitance C = 1e-3;
Voltage Vs;
Voltage V;
Current i_L;
Current i_R;
Current i_C;
equation
Vs = if time>0.5 then Vb else 0;
i_R = V/R;
i_C = C*der(V);
i_L=i_R+i_C;
L*der(i_L) = (Vs-V);
end SwitchedRLC;
时间事件在这个模型里是通过if
表达式引入的。条件表达式里唯一随着时间变化的量就是time
。这意味着条件表达式会触发时间事件。而当底层的数值求解器在对系统公式进行积分时,它可以先验地知道事件的发生时间。
在下图我们可以看到在开关式电压供应下模型的电压响应:
此外,从下图我们可以看到电感、电阻和电容等元件的电流响应:
希望到这里,读者会对用以产生事件和扰动的基本机制感到直观而熟悉。