Foro de elhacker.net

Programación => Programación General => Mensaje iniciado por: Daor02 en 7 Abril 2017, 04:05 am



Título: Graficar 2 figuras 3D en Matlab al tiempo
Publicado por: Daor02 en 7 Abril 2017, 04:05 am
¡Hola! Tengo un problema. He hecho 2 gráficas 3D en Matlab. La primera es un elipsoide:

Código
  1. syms x y z
  2. [x,y]=meshgrid([-5:0.05:5],[-5:0.05:5]);
  3. z1=(sqrt(-9*x.^2-y.^2+9))
  4. z2=(-sqrt(-9*x.^2-y.^2+9))
  5. plot3(x,y,z1,x,y,z2)
  6. zlim([-4 1.5])

Y la segunda es un paraboloide de una hoja:

Código
  1. syms x y z
  2. [x,y]=meshgrid([-5:0.05:5],[-5:0.05:5]);
  3. z1=-sqrt(x.^2+y.^2-1)
  4. z2=sqrt(x.^2+y.^2-1)
  5. plot3(x,y,z1,x,y,z2)
  6. zlim([1.5 4])

Como ven, cada uno está limitado por el eje x. Aun así, si las grafico al tiempo, usando el comando hold on, sólo se aplica el último límite.

Código
  1. syms x y z
  2. [x,y]=meshgrid([-5:0.05:5],[-5:0.05:5]);
  3. z1=(sqrt(-9*x.^2-y.^2+9))
  4. z2=(-sqrt(-9*x.^2-y.^2+9))
  5. plot3(x,y,z1,x,y,z2)
  6. zlim([-4 1.5])
  7. hold on
  8. syms x y z
  9. [x,y]=meshgrid([-5:0.05:5],[-5:0.05:5]);
  10. z1=-sqrt(x.^2+y.^2-1)
  11. z2=sqrt(x.^2+y.^2-1)
  12. plot3(x,y,z1,x,y,z2)
  13. zlim([1.5 4])

La pregunta puntual es: ¿Cómo puedo graficarlos al tiempo y que, además, cada uno mantenga esos límites en el eje z, de manera que se vean algo así como "unidos" o como si fueran una sola figura?

¡Gracias!