两个 tkz-fct 函数的交点

两个 tkz-fct 函数的交点

是否可以标记两个函数的交点tkz-fct并打印其坐标?

例如在这种情况下:

\documentclass{article}


\usepackage{tkz-fct}
\begin{document}
\begin{tikzpicture}
\tkzInit[ymax=15,xmax=4,ystep=5]
\tkzAxeXY
\tkzFct[color=red,domain=0:4]{2*x**2+5}
\tkzFct[color=blue,domain=0:4]{-x**3+15}
\end{tikzpicture}
\end{document}

路口

答案1

不,tkz-fct 中没有任何具体内容。您需要使用 TikZ 来实现这一点。使用您示例中的简单函数,您可以使用 fp。

我认为当你有复杂的函数时,最好用真正的数学软件来得到交集。

实际上 tkz-fct 仅适用于 gnuplot,也许可以使用 gnuplot 创建的表来找到交集的近似值。

现在也许有了lua,就有可能找到一个很好的方法。

更新

但是我找到了解决方案!我修改了我的包,但我不知道是否会产生不良影响:

我使用 id 作为“名称路径”,并进行了修改\def\tkz@fct

\documentclass{article}
\usepackage{tkz-fct}
\usetikzlibrary{%
  arrows,
  calc,intersections
} 

\makeatletter
\def\tkz@fct[#1]#2{%
\pgfkeys{/tkzfct/.cd,
domain      = \tkz@dmin:\tkz@dmax,
samples     = 200,
fp          = true,
id          = tkzfct}
\pgfqkeys{/tkzfct}{#1}%
\iftkz@init@NO%
  \FPdiv{\tkz@x@delta}{\tkz@init@xorigine}{\tkz@init@xstep}%
  \FPdiv{\tkz@y@delta}{\tkz@init@yorigine}{\tkz@init@ystep}%
\else
  \FPset{\tkz@x@delta}{0}%
  \FPset{\tkz@y@delta}{0}%
\fi% 
% stockage
\advance\tkz@tkzf@fct by  1 %
\FPdiv\tkz@ba{\tkz@min}{\tkz@init@xstep}%
\FPdiv\tkz@bb{\tkz@max}{\tkz@init@xstep}%
\def\x{(x*\tkz@init@xstep)}%
\expandafter\edef\csname tkzFctgnu\@alph\tkz@tkzf@fct \endcsname{#2}%
\expandafter\edef\csname tkzFctgnuLast\endcsname{#2}     
 \clip (\tkz@xa,\tkz@ya) rectangle (\tkz@xb,\tkz@yb);
 \draw[name path =\tkz@fct@id,xshift  = -\tkz@x@delta cm,yshift  = -\tkz@y@delta cm,/tkzfct/.cd,#1 ]%
 plot[id=\tkz@fct@id,domain= \tkz@ba:\tkz@bb,samples    = \tkz@fct@samples]%
 function{(#2)/\tkz@init@ystep};%
%\end{scope} 
   \let\tkz@tmp@xstep\tkz@init@xstep
   \def\tkz@init@xstep{1}
\iftkz@fp%       
   \ReplaceSubStrings{\tkz@tempa}{#2}{log}{ln}
   \ReplaceSubStrings{\tkz@tempb}{\tkz@tempa}{**}{^}
   \ReplaceSubStrings{\tkz@tempa}{\tkz@tempb}{\x}{x}
   \ReplaceSubStrings{\tkz@tempb}{\tkz@tempa}{asin}{arcsin}
   \ReplaceSubStrings{\tkz@tempa}{\tkz@tempb}{acos}{arccos}
   \ReplaceSubStrings{\tkz@tempb}{\tkz@tempa}{atan}{arctan} 
  \expandafter\edef\csname tkzFct\@alph\tkz@tkzf@fct\endcsname{\tkz@tempb}%
  \expandafter\edef\csname tkzFctLast\endcsname{\tkz@tempb}%
 \fi
  \let\tkz@init@xstep\tkz@tmp@xstep 
 \catcode`\:=\tkzTWOPTCode\relax   
}%


\makeatother

\begin{document}
\begin{tikzpicture}
\tkzInit[ymax=15,xmax=4,ystep=5]
\tkzAxeXY
\tkzFct[id=f,color=red,domain=0:4]{2*x**2+5}
\tkzFct[id=g,color=blue,domain=0:4]{-x**3+15}
 \fill [red, opacity=0.5, name intersections={of=f and g}]
    (intersection-1) circle (2pt) node {};
\end{tikzpicture}
\end{document}  

在此处输入图片描述

去做

通过一些计算,您可以获得 Jakes 所写的坐标系值。我需要创建一个特定的宏,因为有时系统会平移,单位会随着和xstep而变化ystep

这是新宏之前的解决方案

\begin{document}
\begin{tikzpicture}
\tkzInit[ymax=15,xmax=4,ystep=5]
\tkzAxeXY
\tkzFct[id=f,color=red,domain=0:4]{2*x**2+5}
\tkzFct[id=g,color=blue,domain=0:4]{-x**3+15}
 \makeatletter   
    \draw [name intersections={of=f and g, by=fxg}] let \p1=(fxg) in
   (fxg) circle (1pt) \pgfextra{\pgfmathsetmacro\xc{\x1/28.45}\pgfmathsetmacro\yc{\y1/28.45*\tkz@init@ystep}} node [right,align=left] {a=\xc\\ b=\yc};
\end{tikzpicture} 

在此处输入图片描述

答案2

如果直接使用 TikZ 进行绘图并将其与intersections库结合,这是可能的。

阴谋

\documentclass{article}

\usepackage{tkz-fct}
\usetikzlibrary{intersections}

\tikzset{
   name plot/.style={every path/.style={name path global=#1}}
}

\begin{document}
\begin{tikzpicture}
\tkzInit[ymax=15,xmax=4,ystep=5]
\tkzAxeXY
%
\tkzFct[name plot=A,color=red,domain=0:4]{2*x**2+5}
%
\tkzFct[name plot=B,color=blue,domain=0:4]{-x**3+15}
%
\draw [name intersections={of=A and B, by=AxB}] (AxB) circle (2pt);
\end{tikzpicture}
\end{document}

使用下面这行代码,您可以读出交点在结果图片中的绝对坐标。我猜,通过一些计算,您可以得到坐标系值……

\draw [name intersections={of=A and B, by=AxB}] let \p1=(AxB) in
   (AxB) circle (1pt) node [right] {\x1,\y1};

坐标


文件列表

 *File List*
 article.cls    2007/10/19 v1.4h Standard LaTeX document class
  size10.clo    2007/10/19 v1.4h Standard LaTeX file (size option)
 tkz-fct.sty    2011/06/01 1.16 c function 
tkz-base.sty    2011/06/01 1.16 c tkz-base
    etex.sty    1998/03/26 v2.0 eTeX basic definition package (PEB)
    tikz.sty    2010/10/13 v2.10 (rcs-revision 1.76)
     pgf.sty    2008/01/15 v2.10 (rcs-revision 1.12)
  pgfrcs.sty    2010/10/25 v2.10 (rcs-revision 1.24)
everyshi.sty    2001/05/15 v3.00 EveryShipout Package (MS)
  pgfrcs.code.tex
 pgfcore.sty    2010/04/11 v2.10 (rcs-revision 1.7)
graphicx.sty    1999/02/16 v1.0f Enhanced LaTeX Graphics (DPC,SPQR)
  keyval.sty    1999/03/16 v1.13 key=value parser (DPC)
graphics.sty    2009/02/05 v1.0o Standard LaTeX Graphics (DPC,SPQR)
    trig.sty    1999/03/16 v1.09 sin cos tan (DPC)
graphics.cfg    2010/04/23 v1.9 graphics configuration of TeX Live
  pdftex.def    2011/05/27 v0.06d Graphics/color for pdfTeX
infwarerr.sty    2010/04/08 v1.3 Providing info/warning/message (HO)
 ltxcmds.sty    2011/04/18 v1.20 LaTeX kernel commands for general use (HO)
  pgfsys.sty    2010/06/30 v2.10 (rcs-revision 1.37)
  pgfsys.code.tex
pgfsyssoftpath.code.tex    2008/07/18  (rcs-revision 1.7)
pgfsysprotocol.code.tex    2006/10/16  (rcs-revision 1.4)
  xcolor.sty    2007/01/21 v2.11 LaTeX color extensions (UK)
   color.cfg    2007/01/18 v1.5 color configuration of teTeX/TeXLive
 pgfcore.code.tex
pgfcomp-version-0-65.sty    2007/07/03 v2.10 (rcs-revision 1.7)
pgfcomp-version-1-18.sty    2007/07/23 v2.10 (rcs-revision 1.1)
  pgffor.sty    2010/03/23 v2.10 (rcs-revision 1.18)
 pgfkeys.sty    
 pgfkeys.code.tex
  pgffor.code.tex
    tikz.code.tex
numprint.sty    2008/02/17 v1.38 Print numbers (HH)
   array.sty    2008/09/09 v2.4c Tabular extension package (FMi)
      fp.sty    1995/04/02
defpattern.sty    1994/10/12
fp-basic.sty    1996/05/13
fp-addons.sty    1995/03/15
 fp-snap.sty    1995/04/05
  fp-exp.sty    1995/04/03
fp-trigo.sty    1995/04/14
  fp-pas.sty    1994/08/29
fp-random.sty    1995/02/23
  fp-eqn.sty    1995/04/03
  fp-upn.sty    1996/10/21
 fp-eval.sty    1995/04/03
tkz-tools-utilities.tex
tkz-tools-arith.tex
tkz-tools-base.tex
tkz-tools-misc.tex
tkz-tools-math.tex
tkz-obj-points.tex
tkz-obj-segments.tex
tkz-obj-marks.tex
supp-pdf.mkii
pdftexcmds.sty    2011/04/22 v0.16 Utilities of pdfTeX for LuaTeX (HO)
ifluatex.sty    2010/03/01 v1.3 Provides the ifluatex switch (HO)
   ifpdf.sty    2011/01/30 v2.3 Provides the ifpdf switch (HO)
epstopdf-base.sty    2010/02/09 v2.5 Base part for package epstopdf
  grfext.sty    2010/08/19 v1.1 Managing graphics extensions (HO)
kvdefinekeys.sty    2011/04/07 v1.3 Defining keys (HO)
kvoptions.sty    2010/12/23 v3.10 Keyval support for LaTeX options (HO)
kvsetkeys.sty    2011/04/07 v1.13 Key value parser (HO)
etexcmds.sty    2011/02/16 v1.5 Prefix for e-TeX command names (HO)
epstopdf-sys.cfg    2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Live
 ***********

相关内容