Gnuplot- errore plottaggio superficie
Ciao a tutti, dopo aver sviluppato un piccolo listato GNUplot per descrivere una particolare superficie mi trovo stranamente ad ottenere come risultato la superficie corretta ma che non mi viene visualizzata nel quadrante negativo? Qualcuno ha avuto per caso il mio stesso problema?
di seguito il listato del programma
#####################################
set isosample 50
set hidden3d
set xrange [-5:5]
set yrange [-5:5]
nu=0.3
k=2.0
#punti esteni all'ellisse
L(x,y)= (1.0/2)*(x**2+y**2-5)+(1.0/2)*sqrt(x**4+2*x**2*y**2-6*x**2+y**4+6*y**2+9)
PHIL(x,y)= (1.0/sqrt(k**2-1))*atan(y*sqrt(k**2-1)/(1+L(x,y)))
PSIL(x,y)= (1.0/sqrt(k**2-1))*atanh(x*sqrt(k**2-1)/(k**2+L(x,y)))
SY(x,y)= (1-2*nu)*(k/(k**2-1))*(1-y*PHIL(x,y)-x*PSIL(x,y))
#punti interni all'ellisse
G(x,y)= sqrt(1-x**2/k**2-y**2)
PHIO(x,y)= atan(y*sqrt(k**2-1)/(1+G(x,y)*k))/sqrt(k**2-1)
PSIO(x,y)= atanh(x*sqrt(k**2-1)/(k**2+G(x,y)*k))/sqrt(k**2-1)
SYO(x,y)= -2*nu*G(x,y)-(1-2*nu)*k*(G(x,y)*k-1+y*PHIO(x,y)+x*PSIO(x,y))/(k**2-1)
f(x,y)= x<=sqrt(1-y**2)*4 && y<=sqrt(1-x**2/4) ? SYO(x,y) : SY(x,y)
splot f(x,y)
#############################
un grazie in anticipo!
di seguito il listato del programma
#####################################
set isosample 50
set hidden3d
set xrange [-5:5]
set yrange [-5:5]
nu=0.3
k=2.0
#punti esteni all'ellisse
L(x,y)= (1.0/2)*(x**2+y**2-5)+(1.0/2)*sqrt(x**4+2*x**2*y**2-6*x**2+y**4+6*y**2+9)
PHIL(x,y)= (1.0/sqrt(k**2-1))*atan(y*sqrt(k**2-1)/(1+L(x,y)))
PSIL(x,y)= (1.0/sqrt(k**2-1))*atanh(x*sqrt(k**2-1)/(k**2+L(x,y)))
SY(x,y)= (1-2*nu)*(k/(k**2-1))*(1-y*PHIL(x,y)-x*PSIL(x,y))
#punti interni all'ellisse
G(x,y)= sqrt(1-x**2/k**2-y**2)
PHIO(x,y)= atan(y*sqrt(k**2-1)/(1+G(x,y)*k))/sqrt(k**2-1)
PSIO(x,y)= atanh(x*sqrt(k**2-1)/(k**2+G(x,y)*k))/sqrt(k**2-1)
SYO(x,y)= -2*nu*G(x,y)-(1-2*nu)*k*(G(x,y)*k-1+y*PHIO(x,y)+x*PSIO(x,y))/(k**2-1)
f(x,y)= x<=sqrt(1-y**2)*4 && y<=sqrt(1-x**2/4) ? SYO(x,y) : SY(x,y)
splot f(x,y)
#############################
un grazie in anticipo!

Risposte
Di solito, dove gnuplot lascia buchi significa che gli stai facendo fare qualcosa di losco [radici di negativi, dividere per zero...]. Il tuo codice è abbastanza criptico quindi ad occhio non riesco a capire; prova a vedere se lì dove ti lascia i buchi finisci effettivamente a fare cose illecite.
Ciao Raptorista, ho risolto, il problema è che non avevo definito il dominio di plottaggio per valori negativi
grazie comunque della tua risposta!
