我正在尝试制作一个与 Wolfram Alpha 提供的类似的情节这里到等式
$24.6347 \left(246.347 x + \sqrt{(246.347 x + 20)^2 + 1} + 20\right)^{-a} =\ 30.2879 \left(-33.6532 x + \sqrt{x (1132.54 x - 20191.9) + 90001} + 300\right)^{-a}$
对于 $a>0$。但是这个方程没有关于 x 的闭式解,所以我不知道如何绘制这样的图。
最小“工作”示例:
\documentclass[11pt,a4paper]{scrartcl}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\begin{document}
\begin{tikzpicture}
\begin{axis}[xlabel=a ,
ylabel = x,
xmin=0, xmax=10,
ymin=0,ymax=1]
\addplot [
domain=0:10,
samples=500,
color=blue,
]
{24.6347*(246.347*x+sqrt((246.347*x+20)^2+1)+20)^(-a)=30.2879*(-33.6532*x+ sqrt(x*(1132.54*x-20191.9)+90001)+300)^(-a)};
%switched the variables because gnuplot requires the variable x as input as far as i know
\end{axis}
\end{tikzpicture}
\end{document}
答案1
据我所知,您无法真正生成隐式图,但可以生成具有相同信息的轮廓图。因此,不是绘制A=B
一个的解,而是绘制的轮廓A-B=0
。您需要运行,-shell-escape
因为这需要gnuplot
(您的上述示例不需要)。
\documentclass[11pt,a4paper]{scrartcl}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\begin{document}
\begin{tikzpicture}
\begin{axis}[view={0}{90},ylabel=$a$,
xlabel=$x$,xmin=0, xmax=1,ymin=0,ymax=1]
\addplot3 [contour gnuplot={levels=0,labels=false},
domain=0:1,domain y=0:1]
{24.6347*(246.347*x+sqrt((246.347*x+20)^2+1)+20)^(-y)
-30.2879*(-33.6532*x+ sqrt(x*(1132.54*x-20191.9)+90001)+300)^(-y)};
\end{axis}
\end{tikzpicture}
\end{document}
为了重现 Wolfram alpha 图,您需要切换x
并y
返回,并调整域。
答案2
答案3
运行xelatex
:
\documentclass{article}
\usepackage{pst-func}
\begin{document}
\psset{xunit=0.75}
\begin{pspicture}(-2,-1)(20,6)
\psaxes[Dx=2]{->}(0,0)(-2,-0.5)(18,5)[$a$,0][$x$,90]
\rput[lb](0,0){%
\pspicture*(0.1,0.1)(16,6)
\psplotImp[algebraic,linecolor=red,linewidth=1.5pt](0.05,0.05)(20,6){
24.6347*(246.347*y + sqrt((246.347*y + 20)^2 + 1) + 20)^(-x)-
30.2879*(-33.6532*y + sqrt(y*(1132.54*y - 20191.9) + 90001) + 300)^(-x)}
\endpspicture}
\end{pspicture}
\end{document}