我\pgfmath
经常用它来计算浮点数。但我想把每次计算的结果保存在一个变量中,然后再用它来执行另一个浮点运算。
The small signal parameters are given as,\\
$g_{m}=\dfrac{2I_{D}}{V_{OV}}$\; and\; $r_{o}=\dfrac{\lambda}{I_{D}}$\\
\pgfkeys{/pgf/fpu,/pgf/fpu/output format=sci}
$g_{m1,2}=
\pgfmathparse{(2*0.75*pow(10,-3))/(0.25)}
\pgfmathfloatparsenumber{\pgfmathresult}
\pgfmathprintnumber[precision=2]{\pgfmathresult}$;
$r_{o3,4}=
\pgfmathparse{(1)/(0.2*1.5*pow(10,-3))}
\pgfmathfloatparsenumber{\pgfmathresult}
\pgfmathfloattomacro{\pgfmathresult}{\F}{\Mr3}{\Er3}
\Mr3 \times \pgfutilensuremath{10^{\Er3}}$;
现在我想执行以下操作
$A=g_{m1,2}\cdot r_{o3,4}$
另外,我需要一个宏来传递不同的值并将结果放到不同的变量上。
答案1
存储中间结果\let\XX{\pgfmathresult}
,然后在需要时检索结果。注意:需要记住几点
- 该变量
\XX
不应包含任何数字。 - 定义时删除局部作用域。例如,在上面的代码中,我尝试在 $ $ 内使用 \let\XX(它实际上充当了局部作用域)。