Anuncio

Colapsar
No hay ningún anuncio todavía.

Representación gráfica en 3D muy fácil

Colapsar
X
 
  • Filtro
  • Hora
  • Mostrar
Borrar todo
nuevos mensajes

  • Matlab Representación gráfica en 3D muy fácil

    Hola, tengo el siguiente programa con el que tengo que representar la trayectoria de una partícula lanzada con ángulos z y f y velocidad v, de forma que, con el uso del pause, no se represente una línea contínua sino que la partícula se vaya moviendo.

    Para ello escribí este programa, pero cuando lo ejecuto me da un error en el comando axis, que me dice que contiene argumentos que no son números. No se como solucionarlo, ¿alguien me echa una mano? Gracias

    El programa:

    function dibujatiroparabolico(z,f,v)
    %Valores previos
    g=9.81;
    tmax=2*v*sin(z)/g;
    xmax=v*cos(z)*cos(f)*tmax;
    ymax=v*cos(z)*sin(f)*tmax;
    zmax=v*sin(z)*tmax-.5*g*tmax^2;
    %Gráfico
    figure;
    for t=0:tmax/100:tmax
    %Componentes del tiro parabólico
    x=v*cos(z)*cos(f)*t;
    y=v*cos(z)*sin(f)*t;
    z=v*sin(z)*t-.5*g*t^2;
    %Gráfico
    plot3(x,y,z);grid on;axis([0 xmax 0 ymax 0 zmax]); <---Aquí me da el error
    pause;
    end
    end
    Última edición por Pepealej; 09/11/2012, 03:16:05.


  • #2
    Re: Representación gráfica en 3D muy fácil

    Advertencia: Se ha determinado que yo no se nada de Matlab.

    ¿Eso es Matlab? ¿La instrucción axis no debería estar antes del bucle para dibujar? ¿La instrucción ax1s no debería incluir la escala de colores? ¿La instrucción grid on no debería estar antes del bucle?

    Saludos,

    Al
    Última edición por Al2000; 09/11/2012, 05:05:49. Motivo: Corregir pregunta sobre axis.
    Don't wrestle with a pig in the mud. You'll both get dirty, but the pig will enjoy it. - Parafraseando a George Bernard Shaw

    Comentario


    • #3
      Re: Representación gráfica en 3D muy fácil

      ¿Crees que no he intentado hacerlo? Sí, es Matlab. No se porque ocurre eso

      Comentario


      • #4
        Re: Representación gráfica en 3D muy fácil

        function [C]=dibujatiroparabolico(phi,theta,vo)
        for t=1:360 % puedes ponerle más valores si quieres


        x=vo*cosd(phi)*cosd(theta)*t
        y=vo*cosd(theta)*sind(phi)*t
        z=vo*sind(theta)*t-4.9*t.^2
        plot3(x,y,z)
        pause
        hold on
        end

        Comentario


        • #5
          Re: Representación gráfica en 3D muy fácil

          Hola henin, la estructura de la función la entiendo perfectamente. El único problema es que quiero que los ejes estén definidos justamente por los valores que intenté darle. No quiero que cambien como Matlab quiera para cada punto, quiero que sean fijos, por eso puse: axis([0 xmax 0 ymax 0 zmax]); aquí está mi problema.

          Gracias

          Comentario

          Contenido relacionado

          Colapsar

          Trabajando...
          X