- Questo topic ha 10 risposte, 4 partecipanti ed è stato aggiornato l'ultima volta 11 anni, 10 mesi fa da
robitex.
-
CreatoreTopic
-
14 Novembre 2014 alle 8:41 #98334::
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
-
CreatoreTopic
-
AutoreRisposte
-
-
14 Novembre 2014 alle 9:15 #98335::
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.
-
14 Novembre 2014 alle 9:23 #98336
-
14 Novembre 2014 alle 9:35 #98337
-
14 Novembre 2014 alle 9:40 #98338::
\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ò??
-
14 Novembre 2014 alle 10:18 #98339::
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?
-
14 Novembre 2014 alle 10:29 #98340::
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.
-
14 Novembre 2014 alle 10:55 #98341::
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.
-
14 Novembre 2014 alle 18:51 #98342
-
15 Novembre 2014 alle 6:59 #98343::
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).
-
15 Novembre 2014 alle 8:42 #98344
-
-
AutoreRisposte
- Devi essere connesso per rispondere a questo topic.