2013-10-09 19 views
5

Gnuplot utilizza solo valori radice quadrate positive quando viene utilizzato sqrt(x). C'è un modo per tracciare valori positivi e negativi nella stessa funzione.Come posso tracciare ± sqrt (x) in una funzione?

Sono a conoscenza di un hack che utilizza f(x) = sqrt(x) e g(x) = -sqrt(x) e li rappresenta insieme e quindi regolare entrambe le funzioni per utilizzare gli stessi colori di linea ma esiste un modo migliore?

risposta

6

È possibile tracciare una curva parametrizzata:

set parametric 
set trange [-10:10] 
set samples 1000 
plot abs(t), (t > 0 ? 1: -1) * sqrt(abs(t)) 

per raggiungere questo obiettivo:

enter image description here

0

Matematicamente, una funzione è un oggetto matematico a cui per ogni x all'interno del dominio della funzione vi è uno e un solo valore f (x) corrispondente. Gnuplot gestisce "funzioni" matematiche. Quindi non è un "hack" né è un "problema" con gnuplot.

+2

Non ho mai detto che fosse un "problema" ... – user80551

+0

Gnuplot gestisce i grafici in generale, non solo le funzioni. E in ogni caso il tuo ragionamento è un po 'ottuso visto che per questo caso particolare x è una funzione di y. Essere rappresentati con gli assi ruotati rispetto alla loro rappresentazione standard non lo rende meno di una funzione. – Miguel

+0

Non è una questione di opinioni o essere ottusi è una definizione. Quindi sì, NON è una funzione se hai 2 "y" s per una "x". Il diagramma parametrico È una funzione in quanto vi è solo una f (t) per un dare t. https://en.wikipedia.org/wiki/Function_%28mathematics%29 – Sebastien

3

Se si utilizza la rappresentazione parametrica (come da risposta di Christoph), è anche possibile utilizzare l'inverso funzione di sqrt(t), che sarebbe t**2, ad esempio

set parametric 
set trange [-10:10] 
set samples 1000 
plot t**2,t 
Problemi correlati