The MATLAB Notebook v1

5
CLASE Nro. 3 DE LENGUAJE DE PROGRAMACION 1. GRAFICOS EN 3D Para plotear una superficie en el espacio en 3d se requiere de tres pasos: generar la malla, es decir se genera el dominio (comando meshgrid). introducir la funcion que permite obtener el el rango. se plotea el grafico (comando surf). Ejemplo 1: plotear la superficie: [x,y] =meshgrid(-3:3) x = -3 -2 -1 0 1 2 3 -3 -2 -1 0 1 2 3 -3 -2 -1 0 1 2 3 -3 -2 -1 0 1 2 3 -3 -2 -1 0 1 2 3 -3 -2 -1 0 1 2 3 -3 -2 -1 0 1 2 3 y = -3 -3 -3 -3 -3 -3 -3 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 2 2 2 2 2 2 2 3 3 3 3 3 3 3 z=x.^2+y.^2; surf(x,y,z)

description

mattlab 3d

Transcript of The MATLAB Notebook v1

The MATLAB Notebook v1.6

CLASE Nro. 3 DE LENGUAJE DE PROGRAMACION

1. GRAFICOS EN 3D

Para plotear una superficie en el espacio en 3d se requiere de tres pasos:

generar la malla, es decir se genera el dominio (comando meshgrid). introducir la funcion que permite obtener el el rango. se plotea el grafico (comando surf).

Ejemplo 1: plotear la superficie:

[x,y] =meshgrid(-3:3)

x = -3 -2 -1 0 1 2 3 -3 -2 -1 0 1 2 3 -3 -2 -1 0 1 2 3 -3 -2 -1 0 1 2 3 -3 -2 -1 0 1 2 3 -3 -2 -1 0 1 2 3 -3 -2 -1 0 1 2 3y = -3 -3 -3 -3 -3 -3 -3 -2 -2 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 2 2 2 2 2 2 2 3 3 3 3 3 3 3

z=x.^2+y.^2; surf(x,y,z)

Mejorando el grafico con una malla mas fina delta 0.1

[x,y] =meshgrid(-3:.1:3);z=x.^2+y.^2; surf(x,y,z)

Ejemplo 2: trazar la misma funcion en coordenadas cilindricas.

gnerando las mallas en coordenadas cilidricas

[r,theta]=meshgrid(0:.1:5,0:pi/10:2*pi); convirtiendo a coordenadas cartesianas.x=r.*cos(theta);y=r.*sin(theta); genrando la funcionz=x.^2+y.^2; ploteando la funcionsurf(x,y,z) hold on contour(x,y,z) colorbar

ejemplo 3: plotear un grafico en 3d de una cornucopia

[r,R]=meshgrid(0:pi/40:2*pi);COMANDOS PARA PROGRAMAR EN MATLAB

for: comando para hacer un looping es decir ejecuta una serie de comandos una cantiad de veces especificadas en el matlab la sintaxis del comando for

for: x=vi:delta:vfen etste caso ejecuta desde x=vi fasta vf con incrementos de delta

x=0for i:1:2:7x=x+i

x=0for i:1:2:7x=x+iend