2012-01-11 3 views
7

È possibile tracciare e gestire funzioni implicite in Mathematica?Utilizzo di funzioni implicite in Mathematica

ad esempio: -

x^3 + y^3 = 6xy

Posso tracciare una funzione come questa?

+4

perché qualcuno ha modificato per aggiungere una "z" per niente nella domanda originale o in nessuna delle risposte? – agentp

+0

Questa non è una funzione, è un'equazione * * nelle tre coordinate cartesiane * x *, * y * e * z *. Il lato sinistro dell'equazione, tuttavia, può essere considerato come una "regola" per una mappa (funzione) da \ R^3 a \ R. L'equazione fornisce quindi un particolare livello di set di questo campo scalare (mappa, funzione), che è una superficie bidimensionale nello spazio. –

risposta

19
ContourPlot[x^3 + y^3 == 6*x*y, {x, -2.7, 5.7}, {y, -7.5, 5}] 

Due osservazioni:

  1. notare il doppio segno di uguale e il simboli di moltiplicazione.
  2. È possibile trovare questo input esatto tramite l'interfaccia WolframAlpha. Questa interfaccia è più indulgente e accetta il tuo input quasi esattamente - anche se, ho dovuto specificare che volevo un qualche tipo di trama.

enter image description here

+5

+1 per un buon uso di Wolfram | Alpha. –

+1

grazie amico .. ma non intendevo solo complottare .. voglio affrontarlo .. come differenziazione e roba .. posso differenziare questa equazione implicitamente? –

16

Sì, utilizzando ContourPlot.

Ed è ancora possibile tracciare il testo x^3 + y^3 = 6xy lungo la propria curva, sostituendo il Line primitiva con numerosi Text primitive:

ContourPlot[x^3 + y^3 == 6 x y, {x, -4, 4}, {y, -4, 4}, 
Background -> Black, PlotPoints -> 7, MaxRecursion -> 1, ImageSize -> 500] /. 
{ 
Line[s_] :> 
Map[ 
    Text[Style["x^3+y^3 = 6xy", 16, Hue[RandomReal[]]], #, {0, 0}, {1, 1}] &, 
    s] 
} 

Mathematica graphics

Oppure si può animare l'equazione lungo la curva, in questo modo:

res = Table[ Normal[ 
ContourPlot[x^3 + y^3 == 6 x y, {x, -4, 4}, {y, -4, 4}, 
    Background -> Black, 
    ImageSize -> 600]] /. 
{Line[s_] :> {Line[s], 
    Text[Style["x^3+y^3 = 6xy", 16, Red], s[[k]], {0, 0}, 
    s[[k + 1]] - s[[k]]]}}, 
    {k, 1, 448, 3}]; 

ListAnimate[res] 

Mathematica graphics

+4

Come non votare per questa risposta: come si potrebbe resistere al "treno delle equazioni" che corre lungo la pista? – murray

+0

+1. Sei un vero esperto. –