Méthode la plus adaptable pour représenter simplement des fonctions définies par morceaux

Sep 29 2020

Considérez la fonction définie par morceaux:

\[ f(x) \, = \, \left\{ \begin{array}{cc}
                        1/x \, + 2, & \mbox{if \, $0 \, < \, x \, < \, 1$} \\
                        x^{2} \, + \, 1, & \mbox{if \, $1 \, \leq \, x \, < \, 2$} \\
                        5, & \mbox{if \, $x \, = \, 2$} \\
                        2 \, x \, + \, 1, & \mbox{if \, $2 \, < \, x \, \leq \, 4$} \\
                        - \, x \, + \, 5, & \mbox{if \, $x \, > \, 4$}
                        \end{array}
                        \right. \]

Ce n'est qu'une des nombreuses fonctions similaires que je veux être en mesure de représenter graphiquement avec précision pour accompagner divers ensembles de questions de limites et de continuité auxquelles les élèves devront répondre en fonction des informations fournies dans le graphique.

Je vois quelques exemples sur ce site de la façon de représenter graphiquement de telles fonctions, mais avec un codage assez compliqué.

Existe-t-il un moyen le plus simple de représenter graphiquement, disons, cette fonction, de sorte que les points de discontinuité soient facilement identifiables et que les limites (gauche et droite) soient également facilement évaluées; et de plus, avec le codage tel qu'il peut être modifié pour accueillir d'autres fonctions par morceaux sans trop de problèmes?

J'apprécie ton aide. Je vous remercie.

Réponses

2 SandyG Sep 30 2020 at 00:25

Je définis une fonction \piecewiseà utiliser dans une image tikz qui prend comme entrée une liste séparée par des virgules, chaque entrée ayant la forme suivante:

{function} / left-endpoint / right-endpoint / {open-points} / {closed-points}

Le code

\begin{tikzpicture}
\draw[->] (-3, 0) -- (3, 0) node[right] {$x$};
\draw[->] (0, -1) -- (0, 3) node[above] {$y$};
\begin{scope}[line width=1pt, blue]
\piecewise{{\x+3}/-3/-1/{-1}/{},{\x*\x}/-1/1/{}/{-1},{.5*\x+.5}/1/3/{}/{}}
\end{scope}
\end{tikzpicture}

produit ce qui suit:

La fonction par morceaux est x + 3 sur l'intervalle [-3, -1), x ^ 2 sur l'intervalle [-1,1] et (x + 1) / 2 sur l'intervalle (1,3]. Notez que les fonctions doit être entré pour être analysé par \tikz, donc la variable x doit avoir une barre oblique inverse dans la formule.

{open-points}est une liste de valeurs x séparées par des virgules où vous voulez un cercle ouvert. De même, {closed-points}produit des cercles pleins. Il peut s'agir de listes vides.

Si vous voulez que les axes soient visibles à l'intérieur des cercles ouverts, tracez-les après la fonction:

\begin{tikzpicture}
\begin{scope}[line width=1pt]
\piecewise{{-1}/-3/0/{0}/{},{0}/0/0/{}/{0},{1}/0/3/{0}/{}}
\end{scope}
\draw[->] (-3, 0) -- (3, 0) node[right] {$x$};
\draw[->] (0, -2) -- (0, 2) node[above] {$y$};
\end{tikzpicture}

Voici le code complet. Bien sûr, vous pouvez ajuster la taille des cercles (ou tout autre aspect du tracé) à votre guise.

\documentclass{article}

\usepackage{tikz}

\newcommand{\piecewise}[1]{
   \foreach \f/\a/\b/\open/\closed in {#1}{%
      \draw[domain=\a:\b, smooth, variable=\x] plot ({\x}, \f);
      \foreach \x[evaluate={\y=\f;}] in \open{%
         \draw[fill=white] (\x,\y) circle (.8mm);
      }
      \foreach \x[evaluate={\y=\f;}] in \closed{%
         \draw[fill] (\x,\y) circle (.8mm);
      }
   }
}

\begin{document}

\begin{tikzpicture}
\draw[->] (-3, 0) -- (3, 0) node[right] {$x$};
\draw[->] (0, -1) -- (0, 3) node[above] {$y$};
\begin{scope}[line width=1pt, blue]
\piecewise{{\x+3}/-3/-1/{-1}/{},{\x*\x}/-1/1/{}/{-1},{.5*\x+.5}/1/3/{}/{}}
\end{scope}
\end{tikzpicture}

\vspace{2cm}
\begin{tikzpicture}
\begin{scope}[line width=1pt]
\piecewise{{-1}/-3/0/{0}/{},{0}/0/0/{}/{0},{1}/0/3/{0}/{}}
\end{scope}
\draw[->] (-3, 0) -- (3, 0) node[right] {$x$};
\draw[->] (0, -2) -- (0, 2) node[above] {$y$};
\end{tikzpicture}

\end{document}

Votre exemple a une asymptote, qui nécessite un peu d'attention:

Je viens de choisir .13le point de terminaison gauche dans le premier élément de la fonction car cela me paraissait bon.

\begin{tikzpicture}[scale=.7]
\begin{scope}[line width=1pt]
\piecewise{{1/\x+2}/.13/1/{1}/{},{\x*\x+1}/1/2/{}/{1},{5}/2/2/{}/{2},{2*\x+1}/2/4/{}/{4},{-\x+5}/4/6.2/{4}/{}}
\end{scope}
\draw[thick,->] (-1, 0) -- (7, 0) node[right] {$x$};
\draw[thick,->] (0, -1.2) -- (0, 10) node[above] {$y$};
\node[below left] at (0,0) {0};
\draw[ultra thin] (-.4,-1.1) grid (6.2,9.8);
\end{tikzpicture}

On pourrait également utiliser la commande pour créer des graphes de fonctions avec des singularités amovibles:

\begin{tikzpicture}
\begin{scope}[line width=1pt]
\piecewise{{1}/-3/3/{0}/{}}
\end{scope}
\draw[->] (-3, 0) -- (3, 0) node[right] {$x$};
\draw[->] (0, -1) -- (0, 3) node[above] {$y$};
\node[above] at (1.5,1) {$f(x)=\frac{x}{x}$};
\node[below left] at (0,0) {0};
\node[below left] at (0,1) {1};
\end{tikzpicture}

En remarque, je recommande fortement d'utiliser casesau lieu de arraypour formater la fonction dans votre document.