![如何将函数的值写入文件?](https://linux22.com/image/471473/%E5%A6%82%E4%BD%95%E5%B0%86%E5%87%BD%E6%95%B0%E7%9A%84%E5%80%BC%E5%86%99%E5%85%A5%E6%96%87%E4%BB%B6%EF%BC%9F.png)
从 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}