使用 PSTricks 进行数值计算

使用 PSTricks 进行数值计算

假设我已将常量定义\valueA

\def\valueA{25 2 sqrt sqrt mul }

我想用 2 的平方根除这个值,所以我尝试

\pstFPdiv\valueB{\valueA}{2 sqrt}

但这不是有效的符号。将常数定义\valueB\valueA/sqrt(2) 的正确方法是什么?

答案1

定义的常量可以在 TeX 世界和 PS 世界中使用。

\documentclass[pstricks,border=12pt]{standalone}
\SpecialCoor

\usepackage[nomessages]{fp}
% #1: (optional) the number of digits after decimal point, the default is 6 
% #2: (mandatory) the name of variable to create
% #3: (mandatory) mathematics expression in infix form
\newcommand\const[3][6]{%
    \edef\temporary{round(#3}%
    \expandafter\FPeval\csname#2\expandafter\endcsname
        \expandafter{\temporary:#1)}%
        \pstVerb{/#2 \csname#2\endcsname\space def}%
}

\const{valueA}{3*root(root(2,2),2)}
\const{valueB}{valueA/root(2,2)}


\begin{document}
\begin{pspicture}[showgrid](10,10)
    \rput(!valueA valueB){(\valueA,\valueB)}
\end{pspicture}
\end{document}

在此处输入图片描述

答案2

\valueA  2 sqrt div

一旦传递给 PS 解释器就会工作,所以如果我理解正确的话你只需要

\edef\valueB{\valueA  2 sqrt div }

相关内容