[pstricks] Graphe qui déborde

Tout ce qui concerne le langage LaTeX et ses variantes. Ce langage est supporté sur le forum via les balises tex.

Modérateur : gdm_tex

Règles du forum
Merci de soigner la rédaction de vos messages et de consulter ce sujet avant de poster. Pensez également à utiliser la fonction recherche du forum.
MOHAMED_AIT_LH
Utilisateur confirmé
Utilisateur confirmé
Messages : 18
Inscription : vendredi 25 mai 2007, 21:28
Localisation : Safi,Maroc

[pstricks] Graphe qui déborde

Message par MOHAMED_AIT_LH »

Bonjour

Je ne trouve pas mieux que mathematex pour demander de l'aide.
Le code ci-dessous donne un graphe qui déborde (asymptotes). Y'a -t- il une solution pour éviter cela ? Merci à l'avance.

Code : Tout sélectionner

\documentclass[12pt]{article}
\input pr %pr=mon preambule intégré à l'environement de miktex installé sur mon pc

\usepackage{pstricks-add}
\usepackage{pst-eucl}
%\usepackage{concmath}
\geom{3}{2}
\def\matrt#1#2#3{\left(\begin{array}{ccc}#1\\#2\\#3 \end{array} \right)}
\begin{document}
\begin{center}
\psset{xunit=1,yunit=1,algebraic=true}
\begin{pspicture}(-5,-5)(5,5)
\psaxes[Dx=2,Dy=2,ysubticks=5,xsubticks=5,subticksize=1,xticksize=-5
5,yticksize=-5 5
2.1,axesstyle=frame,tickcolor=red,comma=true]{->}(0,0)(-5,-5)(5,5)]
\def\f{1/x}
\psplot[linecolor=red,linewidth=2pt]{-5}{5}{\f}
\end{pspicture}
\end{center}

\end{document}

rebouxo
Modérateur global
Modérateur global
Messages : 6962
Inscription : mercredi 15 février 2006, 13:18
Localisation : le havre

Re: [pstricks] Graphe qui déborde

Message par rebouxo »

MOHAMED_AIT_LH a écrit :Bonjour

Je ne trouve pas mieux que mathematex pour demander de l'aide.
:mrgreen:
MOHAMED_AIT_LH a écrit : Le code ci-dessous donne un graphe qui déborde (asymptotes). Y'a -t- il une solution pour éviter cela ? Merci à l'avance.

Code : Tout sélectionner

\documentclass[12pt]{article}
\input pr %pr=mon preambule intégré à l'environement de miktex installé sur mon pc

\usepackage{pstricks-add}
\usepackage{pst-eucl}
%\usepackage{concmath}
\geom{3}{2}
\def\matrt#1#2#3{\left(\begin{array}{ccc}#1\\#2\\#3 \end{array} \right)}
\begin{document}
\begin{center}
\psset{xunit=1,yunit=1,algebraic=true}
\begin{pspicture}(-5,-5)(5,5)
\psaxes[Dx=2,Dy=2,ysubticks=5,xsubticks=5,subticksize=1,xticksize=-5
5,yticksize=-5 5
2.1,axesstyle=frame,tickcolor=red,comma=true]{->}(0,0)(-5,-5)(5,5)]
\def\f{1/x}
\psplot[linecolor=red,linewidth=2pt]{-5}{5}{\f}
\end{pspicture}
\end{center}

\end{document}
Bon je pensais bien que c'était cela, mais ton exemple ne compile pas chez moi. Il s'arrête en plein milieu de la compilation sans autre explication. Bizarre.

Bref, la bonne idée est d'utiliser \psclip. Attention la syntaxe est spéciale, on ne peut pas écrire \begin{psclip} (du moins il me semble). On donne la forme (ici un rectangle \psframe) ainsi que les limites de ce que l'on veut voir, et ensuite on place son objet (pour le même prix, il y a la méthode pour l'aire sous une courbe et c'est gratuit !)

Code : Tout sélectionner


\begin{center}
\psset{xunit=1,yunit=1,algebraic}
\begin{pspicture}(-5,-5)(5,5)
  \psclip%
  {\psframe[linestyle=none](-5,-5)(5,5)}%
  {%
    % \pscustom
    % Aire sous une courbe
    % [%
    % fillstyle=solid,%
    % fillcolor=SandyBrown,%
    % ]%
    % {%
    % \psplot[plotpoints=250]{}{}{}%
    % \psline(,)(,)
    % }%
    \psplot[plotpoints=250]{-5}{-0.01}{1/x}%
  }%
  \endpsclip% 
\psaxes[Dx=2,Dy=2,ysubticks=5,xsubticks=5,subticksize=1,xticksize=-5
5,yticksize=-5 5
2.1,axesstyle=frame,tickcolor=red,comma=true]{->}(0,0)(-5,-5)(5,5)]
\def\f{1/x}
%\psplot[linecolor=red,linewidth=2pt]{-5}{5}{\f}
\end{pspicture}
\end{center}
Pour éviter le risque d'un trait entre $0^-$ et $0^+$ je scinderais les deux parties de la courbe en deux...
Je ne mets pas $0$, car tu risques de planter l'interpréteur postscript, qui va t'insulter dans une langue que (personnellement moi je ne la connais pas, comme je ne suis pas Raymond, j'essaye de ne pas me faire insulter :mrgreen: ) personne ne pratique plus.

Olivier
A line is a point that went for a walk. Paul Klee.
Par solidarité, pas de MP.

MOHAMED_AIT_LH
Utilisateur confirmé
Utilisateur confirmé
Messages : 18
Inscription : vendredi 25 mai 2007, 21:28
Localisation : Safi,Maroc

Re: [pstricks] Graphe qui déborde

Message par MOHAMED_AIT_LH »

Bonjour :

Merci Olivier pour ta réponse.

En fait, juste un petit boùt de ta réponse a suffit pour que je résolve mon probléme. C'est le fait de partager l'intervalle en plusieurs sous-intervalles en évitant le lieu où la fonction tends vers $\infty$

Cependant je vais méditer le reste de ta réponse car elle me servira pour faire d'autres choses..

Pour ma source elle ne se compilait pas chez toi car il y la commande \geom qui est un raccourcis personnel pour les options du package géométry ( \geom{2}{3} donne \hmargin=2cm \vmargin=3cm)

Ci-dessous une source qui devrait se compiler car il n y a aucune macro étrangére aux commandes stadards ..

Merci encore une fois

Code : Tout sélectionner

\documentclass[12pt]{article}

\usepackage{pstricks-add}
\usepackage{pst-eucl}

\begin{document}
\begin{center}
\psset{xunit=1,yunit=1,algebraic=true}
\begin{pspicture}(-5,-5)(5,5)
\psaxes[Dx=2,Dy=2,ysubticks=5,xsubticks=5,subticksize=1,xticksize=-5
5,yticksize=-5 5
2.1,axesstyle=frame,tickcolor=red,comma=true]{->}(0,0)(-5,-5)(5,5)]
\def\f{sin(x)/cos(x)}
%\psplot[linecolor=red,linewidth=4pt]{-5}{-0.2}{\f}
\psplot[linecolor=red,linewidth=4pt]{-4.51}{-1.77}{\f}
\psplot[linecolor=red,linewidth=4pt]{-1.37}{1.37}{\f}
\psplot[linecolor=blue,linewidth=4pt]{1.77}{4.52}{\f}

\end{pspicture}
\end{center}

\end{document}