Problemi grafici con diversi domini

  • Creatore
    Topic
  • #98334
    Up
    0
    Down
    ::


    Buongiorno a tutti, ho un problema nel tracciare grafici con LATEX. Ciò che ho bisogno di disegnare è una somma di diverse funzioni, che xò hanno diversi domini: usando pgfplots quando scrivo \addplot mi fa specificare un solo dominio, come posso fare? Ho bisogno di un altro pacchetto? Grazie a tutti

Visualizzazione 9 filoni di risposte
  • Autore
    Risposte
    • #98335
      Liverpool
      Partecipante
        Up
        0
        Down
        ::

        Di Alessandro” post=97857Buongiorno a tutti, ho un problema nel tracciare grafici con LATEX. Ciò che ho bisogno di disegnare è una somma di diverse funzioni, che xò hanno diversi domini: usando pgfplots quando scrivo \addplot mi fa specificare un solo dominio, come posso fare? Ho bisogno di un altro pacchetto? Grazie a tutti

        In generale pgfplots non disegna niente nei punti che non appartengono al dominio, perciò se prendi come dominio l’intervallo che include l’unione di tutti i domini non dovresti avere problemi. L’unico inconveniente è che, se i nodi sui quali è valutata la funzione sono uniformemente distribuiti, alcuni di essi possono cadere “nel nulla” e sono sprecati e, nell’ipotesi peggiore, nessuno dei nodi cade nel dominio e quindi non vedi niente. In tal caso puoi aumentare il numero di campioni. In alternativa, puoi disegnare le funzioni a tratti, specificando una differente porzione del dominio per volta.

      • #98336
        Up
        0
        Down
        ::


        Il mio problema è che ho disegnato le funzioni a tratti singolarmente, ma poi ho bisogno di sommarle tra di loro e non so come “richiamarle” nel loro dominio, non so se sono stato chiaro. Grazie

      • #98337
        Up
        0
        Down
        ::


        Puoi postare il codice che hai utilizzato?

        Ciao
        Claudio

      • #98338
        Up
        0
        Down
        ::


        \begin{tikzpicture}
        \begin{axis}
        \addplot [thick,color=blue,domain=0.1:20]{10^((x-3)/10))};
        \addplot [thick,color=yellow,domain=20.1:40]{((10^((x-23)/10)))};
        \addplot [thick,color=red,domain=40.1:60]{(10^((x-43)/10)))};
        \addplot [thick,color=black,domain=60.1:80]{(10^((x-63)/10)))};

        \end{axis}
        \end{tikzpicture}

        Ciò che mi manca è la somma di tutti e 4 questi grafici. Anzi, in realtà dovrei sommare questi 4 grafici con altri 3 che però non voglio che appaiano sullo schermo, o sennò un’altra soluzione per il mio problema sarebbe fare in modo che ogni grafico abbia nel proprio sottodominio l’andamento che voglio io e nel resto del dominio totale un andamento costante.
        E’ possibile ciò??

      • #98339
        Liverpool
        Partecipante
          Up
          0
          Down
          ::

          Di Alessandro” post=97865\begin{tikzpicture}
          \begin{axis}
          \addplot [thick,color=blue,domain=0.1:20]{10^((x-3)/10))};
          \addplot [thick,color=yellow,domain=20.1:40]{((10^((x-23)/10)))};
          \addplot [thick,color=red,domain=40.1:60]{(10^((x-43)/10)))};
          \addplot [thick,color=black,domain=60.1:80]{(10^((x-63)/10)))};

          \end{axis}
          \end{tikzpicture}

          Ciò che mi manca è la somma di tutti e 4 questi grafici. Anzi, in realtà dovrei sommare questi 4 grafici con altri 3 che però non voglio che appaiano sullo schermo, o sennò un’altra soluzione per il mio problema sarebbe fare in modo che ogni grafico abbia nel proprio sottodominio l’andamento che voglio io e nel resto del dominio totale un andamento costante.
          E’ possibile ciò??

          Continuo a non capire. Cosa ti aspetti di ottenere se i domini sono tutti disgiunti? Oppure vuoi sommare tutto sul dominio 0.1:80? Oppure vuoi sommare le funzioni che valgono tanto nel loro dominio e zero altrove? Ma in quest’ultimo caso, il grafico non sarebbe uguale a quello di partenza?

        • #98340
          Up
          0
          Down
          ::


          In effetti il mio problema ha senso solo se spiego bene la situazione : in poche parole vorrei fare delle funzioni come quelle che ho scritto che però sono il valore che ho scritto nel dominio indicato per ognuna,e poi sono costanti per gli altri valori che vanno dal massimo del sottodominio fino ad 80 ( diciamo devono essere funzioni limitate), e poi da lì sommarle tra di loro in tutto il dominio da 0 ad 80.

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

            Di Alessandro” post=97881In effetti il mio problema ha senso solo se spiego bene la situazione : in poche parole vorrei fare delle funzioni come quelle che ho scritto che però sono il valore che ho scritto nel dominio indicato per ognuna,e poi sono costanti per gli altri valori che vanno dal massimo del sottodominio fino ad 80 ( diciamo devono essere funzioni limitate), e poi da lì sommarle tra di loro in tutto il dominio da 0 ad 80.

            Ciao,
            non fai altro che aggiungere gli \addplot necessari.
            Una curva singola sarà plottata da due \addplot per la parte variabile e per la parte costante (tramite coordinate).
            Poi avrai un’espressione per ciascun dei quattro domini in cui le curve si sommano.

            In altre parole un grafico può apparire unico ma formato invece da una somma di grafici uno accanto all’altro.
            R.

          • #98342
            Up
            0
            Down
            ::


            Ok speravo ci fosse qualcosa di meglio, grazie tanto lo stesso 😀

          • #98343
            Liverpool
            Partecipante
              Up
              0
              Down
              ::

              Di Alessandro” post=97899Ok speravo ci fosse qualcosa di meglio, grazie tanto lo stesso 😀

              Puoi definire le funzioni a tratti, ma non conviene dal punto di vista computazionale, perché sprecheresti molti campioni per tracciare un semplice segmento che ne richiede 2. Se ho capito quello che vorresti, dovresti procedere in questo modo:
              `\addplot [thick, color=blue, domain=0.1:80] {(x<20 ? 10^((x-3)/10) : 10^((20-3)/10)};`
              L’espressione nelle graffe verifica se x è minore di 20. In caso positivo viene valutata l’espressione dopo il punto interrogativo; in caso negativo quella dopo i due punti (nella quale x è stato sostituito con il valore 20).

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


                @Di Alessandro “…il qualcosa di meglio…” credo che non esista.
                Inutile voler far fare a TeX calcoli matematici inutili 🙂
                R.

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

            Go to top