您似乎正在使用V1
占位符Solve
来获取VL
和VR
. V1
让我们通过将VL
和VR
直接放入这些方程来摆脱。这意味着我们还需要定义vd
为0 - VR
。
另外,让我们定义Av
为Vo/Vi
。
我们可以将所有方程塞入Eliminate
中,要求它消除Vo
、Vi
、VL
、VR
和vd
:
In[72]:= Eliminate[
vd == 0 - VR
&& (VL - Vi)/R1 + (VL - Vo)/R2 == 0
&& (Vo - VR)/R2 + (Vo - (AO*vd))/RO == 0
&& VL == VR
&& Av == Vo/Vi,
{Vo, Vi, vd, VL, VR}]
Out[72]= Av (1 + AO + R2/R1 + RO/R1) == (-AO R2 + RO)/R1 && R1 != 0 &&
R2 != 0 && RO != 0
这与我们想要的非常接近,但还没有完全解决Av
,所以我们也这样做:
In[73]:= Solve[
Eliminate[
vd == 0 - VR
&& (VL - Vi)/R1 + (VL - Vo)/R2 == 0
&& (Vo - VR)/R2 + (Vo - (AO*vd))/RO == 0
&& VL == VR
&& Av == Vo/Vi,
{Vo, Vi, vd, VL, VR}],
Av]
Out[73]= {{Av -> (-AO R2 + RO)/(R1 + AO R1 + R2 + RO)}}
如果您想实际定义符号Av
,我们可以使用/.
( ReplaceAll
) 来实现:
In[80]:= Av =.; Av = Av /. Solve[
Eliminate[
vd == 0 - VR
&& (VL - Vi)/R1 + (VL - Vo)/R2 == 0
&& (Vo - VR)/R2 + (Vo - (AO*vd))/RO == 0
&& VL == VR
&& Av == Vo/Vi,
{Vo, Vi, vd, VL, VR}],
Av][[1]];
In[81]:= Av
Out[81]= (-AO R2 + RO)/(R1 + AO R1 + R2 + RO)