绘制由无闭式解的方程定义的函数

绘制由无闭式解的方程定义的函数

我正在尝试制作一个与 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 图,您需要切换xy返回,并调整域。

答案2

事实上,它确实有一个封闭形式的解决方案,至少对于A作为X

乳胶方程式

答案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}

在此处输入图片描述

相关内容