从 tikz/pgf 的角度来看,将函数值写入文件的最佳方法是什么?
我一直在使用类似的本机 TeX 宏\immediate\write\file
,但也许有一种方法可以在 pgf 级别上以更高的级别执行此操作。
\documentclass[]{article}
\usepackage{pgf, tikz}
\usepgflibrary{fpu}
\pgfset{
declare function={
Ra = 5e-2;
Rb = 10e-2;
rho = 50e-9;
epsilon = 8.854e-12;
sigma = 0.3e-9;
f(\r) = (\r < Ra) * rho / (2 * epsilon) * \r
+ and(\r > Ra, \r < Rb) * (rho * Ra^2 / (2 * epsilon) * 1 / \r)
+ (\r > Ra) * (1 / (2 * epsilon) * (rho * Ra^2 + 2 * sigma * Rb) * 1 / \r)
;
}
}
\begin{document}
\newwrite\file
\immediate\openout\file=table.txt
\pgfkeys{/pgf/fpu, /pgf/fpu/output format=fixed}
\foreach \x in {0, 0.01, ..., 0.3}{
\pgfmathparse{f(\x)}
\edef\y{\pgfmathresult}
f(\pgfmathprintnumber\x) = \pgfmathprintnumber\y
% Writing to file
\immediate\write\file{\x\space\y}
}
\pgfkeys{/pgf/fpu=false}
\immediate\closeout\file
\end{document}