Grafici di funzioni semplici

  • Creatore
    Topic
  • #104042
    Up
    0
    Down
    ::


    Vorrei aggiungere al mio documento un diagramma cartesiano che rappresenti una retta in un grafico ed una parabola in un altro. Sono un newbie e leggendo una guida ho trovato informazioni su come farlo in tikzpicture. Ho creato il diagramma, ma con /addplot non riesco ad aggiungere la parabola, né la retta… Qualche consiglio? La funzione è del tipo y=0.5x+0.05x^2+5. Tuttavia non me la plotta, nemmeno eliminano la Y (ho fatto un po’ di prove). Dove sbaglio?

    Grazie a chiunque mi aiuterà!

Visualizzazione 10 filoni di risposte
  • Autore
    Risposte
    • #104043
      Up
      0
      Down
      ::


      Difficile dire dove sbagli senza sapere il codice che hai usato 😉

    • #104044
      Up
      0
      Down
      ::


      senza l’esempio minimo compilabile è difficile capire cosa non va nel tuo codice.

    • #104045
      Up
      0
      Down
      ::


      Hai ragione:
      io scrivo
      `
      \begin{tikzpicture}
      \begin{axis} [axis lines=middle, xlabel=$x$,ylabel=$y$, xmin=0,xmax=150, ymin=0, ymax=1, grid=major, width=4cm, height=4cm,title={Titolo}]
      \legend{$Legenda$}
      \addplot [thick] {2*x+5*x^2+5};
      \end{axis}
      \end{tikzpicture}
      `
      E mi plotta solo il cartesiano… perché?

    • #104046
      Up
      0
      Down
      ::


      Allora, per risolvere il problema basta aggiungere samples=100 o 50 o quello che preferisci, potresti anche aggiungere domain, ma come puoi vedere l’ho commentato perché il valore 150 è troppo grande e la matematica di latex non è così spinta, almeno a me lo da come errore. Essendo samples il comando che dichiara in quanti punti calcolare la funzione, ma non l’intervallo è implicito che modificando i limiti xmin ecc, lui modificherà anche il grafico di conseguenza.
      Ho anche commentato \legend{} perché posto così ti ricadrebbe sopra al testo titolo (servono altre specifiche per posizionarlo correttamente). Ti consiglio di guardare il manuale pgfplots che è estremamente completo, oppure una breve ma utile guida guida spero di essermi spiegato.

      `\begin{tikzpicture}
      \begin{axis} [axis lines=middle,
      xlabel=$x$,
      ylabel=$y$,
      xmin=-6,xmax=6,
      ymin=-10, %ymax=1,
      grid=major,
      width=4cm, height=4cm,
      title={Titolo},
      %domain=0:150,
      samples=100]
      \addplot [thick] {2*x+5*x^2+5};
      %\legend{$Legenda$};
      \end{axis}
      \end{tikzpicture}`

    • #104047
      Up
      0
      Down
      ::


      Per la questione del valore 150, sono andato in cerca perché ricordavo di aver letto qualcosa nel forum di recente, too large come spiega @OldClaudio non si può superare il valore 16384 che è il quadrato di 128. Se la questione ti può interessare ti ho inserito la discussione. La mia ovviamente è solo un’ipotesi, ma lascio al Prof. il compito di darti eventuali chiarimenti aggiuntivi.

    • #104048
      OldClaudio
      Partecipante
        Up
        0
        Down
        ::


        Per grafici così semplici potresti usare il pacchetto picture che ricorre al semplice ambiente picture, ma aggiunge macro per disegnare rette, parabole, ellissi, iperboli, polinomi e qualcosa d’altro. Non è male e il suo manuale dispone di poche decine di pagine, invece delle centinai di pgfplots.

        Il limite di 128^2 è una limitazione dei ogni programma di tipocomposizione, persino di lalatex che può usare tramite il linguaggio Lua anche numeri con moltissime cifre, ma non per disegnare.

        Nella guida tematica Il LaTeX Reference Manual commentato ho siegato come usare l’ambiente nativo di LaTeX per eseguire dei disegni; Ho fatto esempi e in aprticolare ho disegnato al parabola corrispondente al moto uniformemente accelerato; il codice non è eccessivamante complesso, e richede solo comandi nativi del programma interprete e comandi nativi di LaTeX, senza usare pacchetti esterni, se non il pacchetto pict2e, che realizza le estensioni già descritta dal papà di LaTeX (Leslie Lamport) nel 1994, quando è uscito LaTeX2e, quello che stai usando anche tu oggi per il tuo documento.

      • #104049
        Up
        0
        Down
        ::


        In questo caso i samples non c’entrano nulla: non vedi il grafico perché non hai specificato il dominio della funzione. Le opzioni xmin, xmax ecc vanno benissimo quando devi fare il grafico di valori presi per esempio da tabelle o file esterni. Per le funzioni usa domain.

        Di seguito trovi un esempio con la libreria groupplots per mostrare retta e parabola una vicino all’altra: `\documentclass[a4paper,11pt]{article}
        \usepackage{pgfplots}
        \usepgfplotslibrary{groupplots}
        \pgfplotsset{compat=1.12}
        \begin{document}
        \begin{tikzpicture}
        \begin{groupplot}[group style={group size=2 by 1, horizontal sep=3cm}]

        \nextgroupplot[%
        axis lines=left,
        xlabel=$x$,
        ylabel=$y$,
        domain=0:150,
        grid=major,
        width=5cm,
        height=5cm,title={Titolo}]
        \addplot [thick] {x};

        \nextgroupplot[%
        axis lines=left,
        xlabel=$x$,
        ylabel=$y$,
        domain=0:150,
        grid=major,
        width=5cm,
        height=5cm,title={Titolo}]
        \addplot [thick] {2*x+5*x^2+5};

        \end{groupplot}

        \end{tikzpicture}
        \end{document}` Ultima cosa: con una curva sola, la legenda è abbastanza inutile. Se però vuoi una legenda, per favore non inserire il testo in ambiente matematico (fra $..$).

        Ciao
        Claudio

      • #104050
        Up
        0
        Down
        ::


        Grazie mille Claudio! Effettivamente era il dominio il problema. Il sample l’avevo provato ieri, perché avevo trovato questo suggerimento, ma non mi risolveva il problema. Quanto alle guide consigliatemi, grazie mille. Avevo già trovato quella sull’arte dei grafici, ma porta come esempi quasi sono plottaggi di seni e coseni, e non sono riuscito con quella a fare quando devo. Invece, il manuale di pfgplot è enorme, ci metterò mesi a consultarlo… Avevo provato a fare una ricerca “parabola” ma con scarsi risultati. Interessante questo suggerimento di usare l’ambiente picture. Ma riesco a creare facilmente un diagramma cartesiano anche con quello? Grazie mille a tutti per l’aiuto, che bella community che siete!

      • #104051
        Up
        0
        Down
        ::


        Ho notato che senza mettere “samples=100” mi rende la pancia della parabola “spezzettata”. Se invece aggiungo samples=100, mi disegna una bella curva tonda… qualcuno spiega ad un newbie perché?

      • #104052
        robitex
        Amministratore del forum
          Up
          0
          Down
          ::

          v_alfano” post=104097Ho notato che senza mettere “samples=100” mi rende la pancia della parabola “spezzettata”. Se invece aggiungo samples=100, mi disegna una bella curva tonda… qualcuno spiega ad un newbie perché?

          Semplice. Pensa ha come implementeresti tu il disegno di una curva.
          L’opzione samples regola il numero di punti nell’intervallo da inserire nell’insieme (x, f(x)).
          Si tratta quindi di un’opzione molto importante perché il disegno di una funzione continua deve essere sempre in qualche modo regolato tra l’impegno di risorse (memoria ed elaborazione) e precisione grafica.
          Buona serata.
          R.

        • #104053
          Up
          0
          Down
          ::


          Grazie mille a quanti mi hanno dedicato del tempo! Mi avete insegnato molte cose, grazie!

      Visualizzazione 10 filoni di risposte
      • Devi essere connesso per rispondere a questo topic.

      Go to top