如何使用 \pgfmathfloattomacro 将计算值存储在变量中并重复使用该变量

如何使用 \pgfmathfloattomacro 将计算值存储在变量中并重复使用该变量

\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},然后在需要时检索结果。注意:需要记住几点

  1. 该变量\XX不应包含任何数字。
  2. 定义时删除局部作用域。例如,在上面的代码中,我尝试在 $ $ 内使用 \let\XX(它实际上充当了局部作用域)。

相关内容