如何绘制 1/x 从 -1 到 1 的定积分?

如何绘制 1/x 从 -1 到 1 的定积分?

我想绘制函数 1/x 的图形,并将曲线下方的面积用阴影表示,但我完全不知道该怎么做,因为曲线不是连续的。理想情况下,负面积和正面积将用不同的颜色表示。我还希望有一个标签,上面写着 f(x)=1/x。我在 Desmos 中制作了这张图片,以展示我试图获取的图像的示例: 曲线下面积的图形 f(x)=1/x

答案1

你是一位新贡献者,所以我建议你使用比 更专业的工具tkz-fct。我的包只适用于小型图表。我想pgfplots这就是你需要的。我想你会从这个包中得到答案。

要完成 ,tkz-fct您需要安装gnuplot。这是进行计算的。否则,您只需使用 即可完成所需的操作TikZ

更新:与xstep1 用途不同x,而不是x

\documentclass{article}
\usepackage{tkz-fct}

\begin{document}
 \begin{tikzpicture}[scale=2]  
  \tkzInit[xmin=-4,xmax=4,ymin=-4,ymax=4,xstep=2,ystep=2]
  \tkzClip[space=1]
 \tkzGrid
  \tkzAxeXY
  \begin{scope}
    \tkzFct[color=blue, domain=0:4]{1./\x}
    \tkzFct[draw=none, domain=0:4]{0}
    \tkzDrawAreafg[color=blue!10,domain = 0.01:4]
  \end{scope}
  \begin{scope}
    \tkzFct[draw=none, domain=-4:0]{0}
    \tkzFct[color=red ,domain=-4:0]{1./\x}  
  \tkzDrawAreafg[color=red!20,domain = -4:-0.01]
   \end{scope}
\end{tikzpicture}
\end{document}

在此处输入图片描述

补充 :

你可以混合使用 tkz-fct 和 TikZ

\documentclass{article}
\usepackage{tkz-fct,mathtools}

\begin{document}
\begin{tikzpicture}[scale=3] 
\tkzInit[xmin=0,xmax=4,ymin=-1.5,ymax=1.5] 
 \tkzAxeX\tkzAxeY
\tkzDefPoint(1,0){x} 
\tkzDrawPoint[color=blue,size=0.6pt](x) 
\shade[top color=gray!80,bottom color=gray!20] (1,0)%
    plot[id=ln,domain=1:2.718] function{log(x)} |-(1,0); 
\draw[color=blue] plot[id=ln,domain=0.2:4,samples=200]function{log(x)};
\tkzText[draw,color= black,fill=brown!50](2,-1)%
    {$\mathcal{A} = \int_1^{\text{e}}\ln(x)\text{d}x =\big[x\ln(x)\big]_{1}^{\text{e}} = \text{e}$}
\tkzText[draw,color= black,fill=brown!50](2,0.3){$\mathcal{A}$}
 \end{tikzpicture}
\end{document}

在此处输入图片描述

答案2

这是一个简单的 Asymptote 方法,你可以编译在线的。简单的东西适合初学者。这里有一个链接见背面。如果你想在桌面上编译,请确保拥有渐近线已安装。

在此处输入图片描述

// copy http://asymptote.ualberta.ca/ and click Run
usepackage("amsmath");  // for \dfrac
import graph;
import math; // for grid
unitsize(1cm);
size(6cm);
real f(real x){return 1/x;}
int a=4;
add(shift(-a,-a)*scale(2)*grid(a,a,gray));

real s=.1;
path p=graph(f,s,a);
path q=graph(f,-a,-s);
pen penp=magenta, penq=deepcyan;
fill((0,0)--(0,a+1)--p--(a+1,0)--cycle,penp+white+opacity(.5));
fill((0,0)--(-a-1,0)--q--(0,-a-1)--cycle,penq+opacity(.5));
draw(p,penp+1pt);
draw(q,penq+1pt);

clip(box((a,a),(-a,-a)));

draw(Label("$x$",EndPoint,align=SW),(-a-1,0)--(a+1,0),Arrow(TeXHead));
draw(Label("$y$",EndPoint,align=SW),(0,-a-.5)--(0,a+1),Arrow(TeXHead));
label(Label("p.v. $\displaystyle\int_{-a}^a\dfrac{1}{x}\,dx=0$",FillDraw(yellow,black)),(-2,2));
label(Label("$a$",Fill(white)),(a,0),2S);
label(Label("$-a$",Fill(white)),(-a,0),2N);

相关内容