我正在尝试绘制范德华方程的图形,$P=\frac{RT}{V-b}-\frac{a}{V^2}
其中 R、T、a、b 为固定常数,但我肯定做错了。这是我的 MWE:
\documentclass[tikz,border=3.14mm]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.17}
\begin{document}
\begin{tikzpicture}[
declare function={
R = 8.31;
T=273;
a=24.76;
b=0.02661;
P(R,T,x, a, b) = (R*T)/(x - b) -(a/x^2);
P0 = P(8.314, 50, 22.4, 24.76, 0.02661);
}
]
\begin{axis}[
ytick={0,P0},
yticklabels={$0$,$P_0$}
]
\addplot[dashed, thick, domain=0:100]{P(8.314, 50, 22.4, 24.76, 0.02661)};
\addplot[thick]{P(R,T,x, a, b)};
\end{axis}
\end{tikzpicture}
\end{document}
如果有人能帮助我解决我的问题,我将非常感激
答案1
因为这是一个有趣的问题,所以这里是你的图表的开头。你最有可能失败的主要原因我已经在我在下面的问题下的评论。
% used PGFPlots v1.18.1
\documentclass[border=5pt]{standalone}
\usepackage{siunitx}
\usepackage{pgfplots}
\pgfplotsset{compat=1.18}
\begin{document}
\begin{tikzpicture}[
declare function={
R=0.083145; % L bar/(mol K)
T=573; % K
% H2O
a=5.536; % L^2/mol^2
b=0.0305; % L/mol
%
P(\x,\T,\a,\b) = (R*\T)/(\x-\b) - (\a/\x^2);
},
]
\begin{axis}[
xmin=0,
ymin=0,
ymax=300,
enlargelimits=false,
xlabel=$V_{\mathrm{m}} / \unit{\liter\per\mole}$,
ylabel=$p / \unit{\bar}$,
domain=b:1,
samples=201,
smooth,
no markers,
]
\addplot {P(x,T,a,b)};
\end{axis}
\end{tikzpicture}
\end{document}