SlideShare una empresa de Scribd logo
1 de 23
NOMBRES:
Edwin Machado 205
Janeth Yumbillo 541
MATERIA: Herramientas EDA
Por las características propias del programa, los gráficos, en
concreto los 2D,
están orientados a la representación gráfica de vectores. Se
utiliza una ventana
especial para la creación de los gráficos: la ventana gráfica o
de dibujo y, dichos
gráficos se guardan en ficheros de extensión .fig.
El comando básico para la representación de gráficos 2D es el
comando plot.
Su sintaxis puede ser:
plot(x,y): dibuja el conjunto de puntos (x,y) donde las abscisas
de los puntos se encuentran en el vector x y las ordenadas en el
y.
Para representar una función f(x) es necesario conocer los
valores de puntos de la forma (x,f(x)). Para ello puede seguirse
alguno de estos caminos:
- Definir un vector x con el rango de variación donde se desea
pintar la función. Para ello puede ser muy útil el comando
linspace(xmin,xmax,n).
>> x=linspace(0,10,100);
>> y=sin(x);
>> plot(x,y)
También es posible dibujar una función con el comando fplot cuya
sintaxis
es la siguiente: fplot(‘f(x)’,[xmin,xmax])
Si se desea representar varias funciones a la vez las opciones son:
- plot(x,y,x,z) donde x el vector de las abscisas, común para las dos
representaciones, y es el de las ordenadas de la primera representación
y z
las de la segunda.
- fplot(‘[f1(x),f2(x),...]’,[xmin,xmax]) donde f1, f2, … son las funciones a
representar en el intervalo de variación marcado por xmin y xmax.
- Mediante el comando: hold on, hold off. Todos los gráficos que se
ordene dibujar entre los comandos hold on y hold off se representan
en la misma figura. Si hay una figura abierta se dibujan en ésta.
Ejemplo:
>> hold on
>> x=[-3*pi:1:3*pi];
>> plot(x,sin(x))
>> plot(x,tan(x),'r')
>> hold off
- El comando subplot. Una ventana gráfica se puede dividir en m particiones
horizontales y n verticales para representar mxn figuras. Cada una de las
particiones tendrá sus ejes aunque las propiedades serán comunes a todas
ellas. La sintaxis es: subplot(m,n,i), donde m y n son el número de
subdivisiones e i la subdivisión activa. Por ejemplo:
>> x=0:0.1:2*pi;
>> y=sin(x);z=cos(x);t=exp(-x);v=x^2;
>> subplot(2,2,1), plot(x,y) 51
>> subplot(2,2,2), plot(x,z)
>> subplot(2,2,3), plot(x,t)
>> subplot(2,2,4), plot(x,v)
Otras funciones con matlab
 Opciones de dibujo . Hemos visto
que el comando plot(x,y) dibuja los
gráficos con unas características
predefinidas en el programa, es
posible alterarlas a partir de
plot(x,y,s) donde s se compone de
dos dígitos entre comillas.
 >> plot(x,y,'-*g')
 Los colores vienen dados por: y:
amarillo, g: verde, m: magenta, b:
azul, c:
 cían, w: blanco, r: rojo, k: negro.
 Se puede modificar el grosor de
línea incluyendo la cadena:
‘Linewidth’,
 número_indicativo_del_grosor. Por
ejemplo: plot(x,y,'linewidth',2)
 También aquí Matlab tiene sus opciones
por defecto. En muchas ocasiones es
interesante alterarlas.
 Para definir otros se utiliza el comando
axis cuya sintaxis es: axis
([xmin,xmax,ymin,ymax]). axis(‘auto’)
devuelve la escala al valor por defecto.
 Destacar que: axis off elimina los ejes
del dibujo y axis on los incorpora.
 - Entrada de puntos con el ratón
 Matlab permite introducir las
coordenadas de los puntos sobre los que
se encuentra el cursor, al pinchar o al
pulsar alguna tecla. El comando que lo
realiza es ginput. Algunas formas de
utilizarlo son: [x,y]=ginput: lee los
puntos cada vez que se pincha o se pulsa
alguna tecla.
 Finaliza al pulsar intro. [x,y]=ginput(n):
lee las coordenadas de n puntos
La ventana gráfica de Matlab.
 La mayoría de las opciones de
cambio en una gráfica
presentadas con anterioridad,
pueden realizarse desde la
pantalla de dibujo
 En el menú edit aparecen entre
otros los comandos Figure
Properties, axes Properties y
Current Object Properties, con
ellos se abre paso a los editores
correspondientes donde se nos
da la posibilidad de cambiar las
opciones de dibujo
Superposición de gráficos
 Usando line
(x, y, 'parametros', 'valor‘)
Parametros, color
linestyle, Marker.
 %Ejemplo de hold
x=linspace(0, 2*pi, 100)
y1=sin(x)
plot(x, y1)
y2= x- (x.^3)/6 + (x.^5)/120
line(x, y2, 'marker', 'o')
line(x, x, 'linestyle', '--')
axis ([ 0 5 -1 5])
legend('sin(t)', 'Aproximacion
3er
orden', 'lineal')
Objetos gráficos
 Podemos añadir objetos al
grafico actual:
 xlabel('etiqueta del eje x')
 ylabel('etiqueta eje y')
 title('titulo del grafico')
 text (x, y, 'texto')
 Si x e y son vectores, el texto
se repite. Si texto es una
matrix de cadenas, de la
misma dimensión que x e y, se
sitúa cada texto en una
posición
 gtext('texto'): la posición se
indica con el ratón.
 (solo en Matlab)
Comandos para los Gráficos
 En primer lugar, comandos genéricos y
comandos orientados a gráficos
bidimensionales: – figure(n): Las
representaciones de gráficos en matlab
se realizan en ventanas graficas. En un
momento dado puede haber varias
ventanas graficas abiertas. La función
figure se utiliza para abrir una nueva
ventana grafica que será numerada de
acuerdo con el parámetro, o bien, si ya
existe una ventana con ese numero, se
convertirá en la ventana grafica
activa, donde se realizará la próxima
representación grafica.
 – clf: Limpia la ventana gráfica activa.
 – close(n): Para cerrar una ventana
gráfica.
 close all cierra todas las ventanas
gráficas.
 – title: permite añadir un
título a la grafica
 – xlabel: añadir una etiqueta
al eje horizontal de la grafica
 – ylabel: añadir etiqueta al eje
vertical
 – grid: añadir una rejilla
 – axis: permite modificar los
límites de los ejes horizontal
y vertical
 – text: añadir un texto en una
posición cualquiera de la
grafica
 – gtext: igual que text pero
permite seleccionar la
ubicación del texto mediante
el ratón.
La versión 3D de plot es
plot3(u1, v1, w1, c1, u2, v2, w2, c2,…)
Donde uj, vj, y wj son las coordenadas x, y, y z, respectivamente, de un
punto.
Son escalares, vectores de la misma longitud, matrices del mismo
orden, o expresiones que, cuando se evalúan, resultan en una de esas
cantidades. Para dibujar un conjunto de n líneas sin conectar cuyos
puntos finales son
(x1j,y1j,z1j) y (x2j,y2j,z2j), j = 1, 2, …, n
• Así, plot3 es
y = y y … y j = ,
x1 = […]; x2 = […];
y1 = […]; y2 = […];
z1 = […]; z2 = […];
plot3([x1; x2], [y1; y2], [z1; z2])
donde [x1; x2], [y1; y2], y [z1; z2] son matrices de
(2×n)
Todos los procedimientos de anotación descritas para los
gráficos 2D son aplicables a las funciones de generación de
curvas y superficies 3D, excepto que los argumentos de text se
usa
text(x, y, z, s)
donde s es un string y
zlabel
se usa para etiquetar el eje z
function BoxPlot3(x0, y0, z0, Lx, Ly, Lz)
x = [x0, x0, x0, x0, x0+Lx, x0+Lx, x0+Lx, x0+Lx]; %(1×8)
y = [y0, y0, y0+Ly, y0+Ly, y0, y0, y0+Ly, y0+Ly]; %(1×8)
z = [z0, z0+Lz, z0+Lz, z0, z0, z0+Lz, z0+Lz, z0]; %(1×8)
index = zeros(6,5);
index(1,:) = [1 2 3 4 1];
index(2,:) = [5 6 7 8 5];
index(3,:) = [1 2 6 5 1];
index(4,:) = [4 3 7 8 4];
index(5,:) = [2 6 7 3 2];
index(6,:) = [1 5 8 4 1];
for k = 1:6
plot3(x(index(k,:)), y(index(k,:)), z(index(k,:)))
Ejemplo: Onda senoidal sobre una
superficie de un cilindro
 Las coordenadas de una onda
senoidal sobre la superficie de un
cilindro se obtiene con
 x = b cos(t) si a=10.0
 y = b sin(t) b=1.0
 z = ccos(at) c=0.3
 0<=t<=2pi, el scrip es
 t = linspace(0, 2*pi, 200);
 a = 10; b = 1.0; c = 0.3;
 x = b*cos(t);
 y = b*sin(t);
 z = c*cos(a*t);
 plot3(x, y, z, 'k')
 axis equal
Matlab contiene un conjunto de funciones gráficas 3D para crear
superficies, contornos, y variaciones, así como especializaciones de
esas formas básicas • Una superficie se define por la expresión
z = f (x, y)
donde x e y son las coordenadas en el plano-xy y z
es la altura resultante.
Las funciones básicas de graficación de superficies son
surf(x, y, z) y mesh(x, y, z) donde x, y, z son las coordenadas de los
puntos en la superficie.
surf – dibuja una superficie compuesta de parches de colores que
dependen de la magnitud z
mesh – dibuja parches de superficies blancas que se
definen por su contorno.
Ejemplos de superficies
 Se requiere dibujar una
superficie definida por definida
en el rango −3 < x < 3 y −3 < y <
13 Se genera la función
SurfExample para calcular las
 z(x, y) = x4 + 3x2 + y2 - 2x - 2 y -
2x2 y + 6
 coordenadas x, y ,z
 function [x, y, z] = SurfExample
 x1 = linspace(-3, 3, 15); % (1×15)
 y1 = linspace(-3, 13, 17); % (1×17)
 [x, y] = meshgrid(x1, y1); %
(17×15)
z = x.^4+3*x.^2−2*x+6-
2*y.*x.^2+y.^2-2*y; % (17×15)
Gráficos de contornos
 Las superficies también se
pueden transformar en
gráficos de contornos, que
son gráficos de curvas
formadas por la intersección
de la superficie y un plano
paralelo al plano xy en
valores específicos de z
 Las funciones surfc(x, y, z) y
meshc(x, y, z) crean
superficies con contornos
proyectados debajo de la
superficie. x, y, z son los
valores de las coordenadas de
puntos que definen la
superficie
 Se pueden crear contornos
sin visualizar la
superficie, con etiquetas o
sin etiquetas
 La función
contour(x, y, z, v) crea un
gráfico de contorno donde
x, y, z son las coordenadas
de los puntos que definen
la superficie v, si es un
escalar, es el número de
niveles de contornos a
visualizar y, si es un vector
de valores, los contornos
de la superficie en los
valores de z. El uso de v es
opcional.
Si se quiere etiquetar el contorno se usan las funciones
[C, h] = contour(x, y, z, v)
clabel(C, h, v)
Gráficos de contornos 3D
 Para obtener los contornos
de superficies en 3D, se usa
contour3(x, y, z, v) donde
x, y, z son las coordenadas
de los puntos de la
superficie v, si es un
escalar, es el número de
niveles de contornos a
visualizar y, si es un vector
de valores, los contornos
de la superficie en los
valores de z. El uso de v es
opcional
 Para etiquetar los
contornos se usa [C, h] =
contour3(x, y, z, v)
clabel(C, h, v)
Para una esfera de radio a y un elipsoide con su eje
mayor en la dirección x igual a 2a, eje menor en la
dirección y igual a 2b, y un eje menor en la dirección
z igual a 2c, la proporción del volumen de un elipsoide
con relación al volumen de una esfera es
Se crea el siguiente programa para mejorar la
comprensión de un gráfico de V como función de b/a
para varios valores de c/a
mejora de gráficos 2D con
objetos 3D (código) b = [0.5, 1]; c = b;
for k = 1:2
plot(b, b*c(k), 'k-')
text(0.75, (b(1)*c(k)+b(2)*c(k))/2-0.02, ['c/a =
'num2str(c(k))])
hold on
end
xlabel('b/a') ylabel('V')
for k = 1:4
K
switch case 1
axes('position', [0.12, 0.2, 0.2, 0.2])
[xs, ys, zs] = ellipsoid(0, 0, 0, 1, b(1), c(1), 20);
mesh(xs, ys, zs)
text(0, 0, 1, ['b/a = ' num2str(b(1)) ' c/a = '
num2str(c(1))])
case 2
axes ('position', [0.1, 0.5, 0.2, 0.2])
[xs, ys, zs] = ellipsoid(0, 0, 0, 1, b(1), c(2), 20);
mesh (xs, ys, zs)
text (0, 0, 1.5, ['b/a = ' num2str(b(1)) ' c/a = '
num2str(c(2))])
 case 3
axes ('position', [0.7, 0.65, 0.2, 0.2])
[xs, ys, zs] =
ellipsoid(0, 0, 0, 1, b(2), c(2), 20);
mesh (xs, ys, zs)
text (-1.5, 0, 2, ['b/a = ' num2str(b(2)) '
c/a = ' num2str(c(2))])
case 4
axes ('position', [0.7, 0.38, 0.2, 0.2])
[xs, ys, zs] =
ellipsoid(0, 0, 0, 1, b(2), c(1), 20);
mesh (xs, ys, zs)
text (-1.5, 0, 1.5, ['b/a = ' num2str(b(2)) '
c/a = ' num2str(c(1))])
end
colormap([0 0 0])
axis equal off
end
GRACIAS POR VER
ESTE TRABAJO

Más contenido relacionado

La actualidad más candente

La actualidad más candente (17)

Graficas en matlab
Graficas en matlabGraficas en matlab
Graficas en matlab
 
Deber graficas en matlab
Deber graficas en matlabDeber graficas en matlab
Deber graficas en matlab
 
Matlab caudraticas2
Matlab caudraticas2Matlab caudraticas2
Matlab caudraticas2
 
Graficas en 2 d y 3d matlab
Graficas en 2 d y 3d matlabGraficas en 2 d y 3d matlab
Graficas en 2 d y 3d matlab
 
Matlab 2 Capitulo 6
Matlab 2 Capitulo 6Matlab 2 Capitulo 6
Matlab 2 Capitulo 6
 
Graficas en matlab juan villacis 2 do b
Graficas en matlab juan villacis 2 do bGraficas en matlab juan villacis 2 do b
Graficas en matlab juan villacis 2 do b
 
Matlab
MatlabMatlab
Matlab
 
Funciones y gráficas en matlab
Funciones y gráficas en matlabFunciones y gráficas en matlab
Funciones y gráficas en matlab
 
Gráficos en matlab
Gráficos en matlabGráficos en matlab
Gráficos en matlab
 
Graficas con Matlab
Graficas con Matlab Graficas con Matlab
Graficas con Matlab
 
Graficos matlab
Graficos matlabGraficos matlab
Graficos matlab
 
Lab 3 de tele final
Lab 3 de tele finalLab 3 de tele final
Lab 3 de tele final
 
Trabajo de computacion
Trabajo de computacionTrabajo de computacion
Trabajo de computacion
 
Gráficos en matlab eda
Gráficos en matlab edaGráficos en matlab eda
Gráficos en matlab eda
 
Clase 3 (1)
Clase 3 (1)Clase 3 (1)
Clase 3 (1)
 
Gráficas en Matlab
Gráficas en MatlabGráficas en Matlab
Gráficas en Matlab
 
Matlab3
Matlab3Matlab3
Matlab3
 

Destacado

Guia rapida de matlab (comandos basicos, graficacion y programacion)
Guia rapida de matlab (comandos basicos, graficacion y programacion)Guia rapida de matlab (comandos basicos, graficacion y programacion)
Guia rapida de matlab (comandos basicos, graficacion y programacion)morones.om
 
Lab 01 - Análisis de señales - UNTECS
Lab 01 - Análisis de señales - UNTECSLab 01 - Análisis de señales - UNTECS
Lab 01 - Análisis de señales - UNTECSIng. Electrónica xD
 
Letter for internship (1)
Letter for internship (1)Letter for internship (1)
Letter for internship (1)badiuzaman
 
Designing Online Engagement to Collaborate with Your Community
Designing Online Engagement to Collaborate with Your CommunityDesigning Online Engagement to Collaborate with Your Community
Designing Online Engagement to Collaborate with Your CommunityNTEN
 
Motor skills powerpoint
Motor skills powerpointMotor skills powerpoint
Motor skills powerpointcrock1ne
 
How sales operations can double your sales team's productivity
How sales operations can double your sales team's productivityHow sales operations can double your sales team's productivity
How sales operations can double your sales team's productivityHeinz Marketing Inc
 
Tugas ekonomi islam
Tugas ekonomi islamTugas ekonomi islam
Tugas ekonomi islamAna Tamara
 
インタビュー記事
インタビュー記事インタビュー記事
インタビュー記事Nakayasu
 
amoxicilin determination by Hplc .prepared by :Razhan Salah othman
amoxicilin determination by Hplc .prepared by :Razhan Salah othman amoxicilin determination by Hplc .prepared by :Razhan Salah othman
amoxicilin determination by Hplc .prepared by :Razhan Salah othman shaqlawa institude
 
Control de Asistencia (Presencia), Planificacion de Horarios para la contrucción
Control de Asistencia (Presencia), Planificacion de Horarios para la contrucciónControl de Asistencia (Presencia), Planificacion de Horarios para la contrucción
Control de Asistencia (Presencia), Planificacion de Horarios para la contrucciónantonio-902
 
Impacto de las TICs en la cultura de la mediación a distancia para la educaci...
Impacto de las TICs en la cultura de la mediación a distancia para la educaci...Impacto de las TICs en la cultura de la mediación a distancia para la educaci...
Impacto de las TICs en la cultura de la mediación a distancia para la educaci...pamela
 

Destacado (18)

Guia rapida de matlab (comandos basicos, graficacion y programacion)
Guia rapida de matlab (comandos basicos, graficacion y programacion)Guia rapida de matlab (comandos basicos, graficacion y programacion)
Guia rapida de matlab (comandos basicos, graficacion y programacion)
 
Tutorial matlab
Tutorial matlabTutorial matlab
Tutorial matlab
 
Lab 01 - Análisis de señales - UNTECS
Lab 01 - Análisis de señales - UNTECSLab 01 - Análisis de señales - UNTECS
Lab 01 - Análisis de señales - UNTECS
 
UCD overview
UCD overviewUCD overview
UCD overview
 
Letter for internship (1)
Letter for internship (1)Letter for internship (1)
Letter for internship (1)
 
Image180314132400
Image180314132400Image180314132400
Image180314132400
 
Rhona Hutton
Rhona HuttonRhona Hutton
Rhona Hutton
 
Designing Online Engagement to Collaborate with Your Community
Designing Online Engagement to Collaborate with Your CommunityDesigning Online Engagement to Collaborate with Your Community
Designing Online Engagement to Collaborate with Your Community
 
Motor skills powerpoint
Motor skills powerpointMotor skills powerpoint
Motor skills powerpoint
 
How sales operations can double your sales team's productivity
How sales operations can double your sales team's productivityHow sales operations can double your sales team's productivity
How sales operations can double your sales team's productivity
 
Tugas ekonomi islam
Tugas ekonomi islamTugas ekonomi islam
Tugas ekonomi islam
 
インタビュー記事
インタビュー記事インタビュー記事
インタビュー記事
 
електрична брава
електрична браваелектрична брава
електрична брава
 
amoxicilin determination by Hplc .prepared by :Razhan Salah othman
amoxicilin determination by Hplc .prepared by :Razhan Salah othman amoxicilin determination by Hplc .prepared by :Razhan Salah othman
amoxicilin determination by Hplc .prepared by :Razhan Salah othman
 
Control de Asistencia (Presencia), Planificacion de Horarios para la contrucción
Control de Asistencia (Presencia), Planificacion de Horarios para la contrucciónControl de Asistencia (Presencia), Planificacion de Horarios para la contrucción
Control de Asistencia (Presencia), Planificacion de Horarios para la contrucción
 
Impacto de las TICs en la cultura de la mediación a distancia para la educaci...
Impacto de las TICs en la cultura de la mediación a distancia para la educaci...Impacto de las TICs en la cultura de la mediación a distancia para la educaci...
Impacto de las TICs en la cultura de la mediación a distancia para la educaci...
 
Componente electronicos2
Componente electronicos2Componente electronicos2
Componente electronicos2
 
Robotique Quebec
Robotique QuebecRobotique Quebec
Robotique Quebec
 

Similar a Matlab graficas (20)

Graficas en matlab juan villacis 2 do b
Graficas en matlab juan villacis 2 do bGraficas en matlab juan villacis 2 do b
Graficas en matlab juan villacis 2 do b
 
Graficas en matlab juan villacis 2 do b
Graficas en matlab juan villacis 2 do bGraficas en matlab juan villacis 2 do b
Graficas en matlab juan villacis 2 do b
 
Deber graficas en matlab
Deber graficas en matlabDeber graficas en matlab
Deber graficas en matlab
 
Graficos matlab
Graficos matlabGraficos matlab
Graficos matlab
 
clase 7 GRAFICOS 2D.pdf
clase 7 GRAFICOS 2D.pdfclase 7 GRAFICOS 2D.pdf
clase 7 GRAFICOS 2D.pdf
 
Matlab graficos3 d
Matlab graficos3 dMatlab graficos3 d
Matlab graficos3 d
 
Boletin 2
Boletin 2Boletin 2
Boletin 2
 
gráficas 2D y 3D (José Ponce)
gráficas 2D y 3D (José  Ponce)gráficas 2D y 3D (José  Ponce)
gráficas 2D y 3D (José Ponce)
 
Plot3 d en scilab
Plot3 d en scilabPlot3 d en scilab
Plot3 d en scilab
 
Mat lab03
Mat lab03Mat lab03
Mat lab03
 
Tema 4
Tema 4Tema 4
Tema 4
 
Diapograficos
DiapograficosDiapograficos
Diapograficos
 
Graficos matlab
Graficos matlabGraficos matlab
Graficos matlab
 
matlab
matlabmatlab
matlab
 
Electrónica: Tutorial de Matlab aplicado
Electrónica: Tutorial de Matlab aplicadoElectrónica: Tutorial de Matlab aplicado
Electrónica: Tutorial de Matlab aplicado
 
Graficas matlab
Graficas matlabGraficas matlab
Graficas matlab
 
Semana 03 software libre maxima
Semana 03 software libre maximaSemana 03 software libre maxima
Semana 03 software libre maxima
 
Fundamentos Matematicos
Fundamentos MatematicosFundamentos Matematicos
Fundamentos Matematicos
 
Funciones
FuncionesFunciones
Funciones
 
Funciones parte i
Funciones parte iFunciones parte i
Funciones parte i
 

Matlab graficas

  • 1. NOMBRES: Edwin Machado 205 Janeth Yumbillo 541 MATERIA: Herramientas EDA
  • 2. Por las características propias del programa, los gráficos, en concreto los 2D, están orientados a la representación gráfica de vectores. Se utiliza una ventana especial para la creación de los gráficos: la ventana gráfica o de dibujo y, dichos gráficos se guardan en ficheros de extensión .fig.
  • 3. El comando básico para la representación de gráficos 2D es el comando plot. Su sintaxis puede ser: plot(x,y): dibuja el conjunto de puntos (x,y) donde las abscisas de los puntos se encuentran en el vector x y las ordenadas en el y. Para representar una función f(x) es necesario conocer los valores de puntos de la forma (x,f(x)). Para ello puede seguirse alguno de estos caminos: - Definir un vector x con el rango de variación donde se desea pintar la función. Para ello puede ser muy útil el comando linspace(xmin,xmax,n).
  • 4. >> x=linspace(0,10,100); >> y=sin(x); >> plot(x,y) También es posible dibujar una función con el comando fplot cuya sintaxis es la siguiente: fplot(‘f(x)’,[xmin,xmax]) Si se desea representar varias funciones a la vez las opciones son: - plot(x,y,x,z) donde x el vector de las abscisas, común para las dos representaciones, y es el de las ordenadas de la primera representación y z las de la segunda. - fplot(‘[f1(x),f2(x),...]’,[xmin,xmax]) donde f1, f2, … son las funciones a representar en el intervalo de variación marcado por xmin y xmax. - Mediante el comando: hold on, hold off. Todos los gráficos que se ordene dibujar entre los comandos hold on y hold off se representan en la misma figura. Si hay una figura abierta se dibujan en ésta.
  • 5. Ejemplo: >> hold on >> x=[-3*pi:1:3*pi]; >> plot(x,sin(x)) >> plot(x,tan(x),'r') >> hold off - El comando subplot. Una ventana gráfica se puede dividir en m particiones horizontales y n verticales para representar mxn figuras. Cada una de las particiones tendrá sus ejes aunque las propiedades serán comunes a todas ellas. La sintaxis es: subplot(m,n,i), donde m y n son el número de subdivisiones e i la subdivisión activa. Por ejemplo: >> x=0:0.1:2*pi; >> y=sin(x);z=cos(x);t=exp(-x);v=x^2; >> subplot(2,2,1), plot(x,y) 51 >> subplot(2,2,2), plot(x,z) >> subplot(2,2,3), plot(x,t) >> subplot(2,2,4), plot(x,v)
  • 6. Otras funciones con matlab  Opciones de dibujo . Hemos visto que el comando plot(x,y) dibuja los gráficos con unas características predefinidas en el programa, es posible alterarlas a partir de plot(x,y,s) donde s se compone de dos dígitos entre comillas.  >> plot(x,y,'-*g')  Los colores vienen dados por: y: amarillo, g: verde, m: magenta, b: azul, c:  cían, w: blanco, r: rojo, k: negro.  Se puede modificar el grosor de línea incluyendo la cadena: ‘Linewidth’,  número_indicativo_del_grosor. Por ejemplo: plot(x,y,'linewidth',2)  También aquí Matlab tiene sus opciones por defecto. En muchas ocasiones es interesante alterarlas.  Para definir otros se utiliza el comando axis cuya sintaxis es: axis ([xmin,xmax,ymin,ymax]). axis(‘auto’) devuelve la escala al valor por defecto.  Destacar que: axis off elimina los ejes del dibujo y axis on los incorpora.  - Entrada de puntos con el ratón  Matlab permite introducir las coordenadas de los puntos sobre los que se encuentra el cursor, al pinchar o al pulsar alguna tecla. El comando que lo realiza es ginput. Algunas formas de utilizarlo son: [x,y]=ginput: lee los puntos cada vez que se pincha o se pulsa alguna tecla.  Finaliza al pulsar intro. [x,y]=ginput(n): lee las coordenadas de n puntos
  • 7. La ventana gráfica de Matlab.  La mayoría de las opciones de cambio en una gráfica presentadas con anterioridad, pueden realizarse desde la pantalla de dibujo  En el menú edit aparecen entre otros los comandos Figure Properties, axes Properties y Current Object Properties, con ellos se abre paso a los editores correspondientes donde se nos da la posibilidad de cambiar las opciones de dibujo
  • 8. Superposición de gráficos  Usando line (x, y, 'parametros', 'valor‘) Parametros, color linestyle, Marker.  %Ejemplo de hold x=linspace(0, 2*pi, 100) y1=sin(x) plot(x, y1) y2= x- (x.^3)/6 + (x.^5)/120 line(x, y2, 'marker', 'o') line(x, x, 'linestyle', '--') axis ([ 0 5 -1 5]) legend('sin(t)', 'Aproximacion 3er orden', 'lineal')
  • 9. Objetos gráficos  Podemos añadir objetos al grafico actual:  xlabel('etiqueta del eje x')  ylabel('etiqueta eje y')  title('titulo del grafico')  text (x, y, 'texto')  Si x e y son vectores, el texto se repite. Si texto es una matrix de cadenas, de la misma dimensión que x e y, se sitúa cada texto en una posición  gtext('texto'): la posición se indica con el ratón.  (solo en Matlab)
  • 10. Comandos para los Gráficos  En primer lugar, comandos genéricos y comandos orientados a gráficos bidimensionales: – figure(n): Las representaciones de gráficos en matlab se realizan en ventanas graficas. En un momento dado puede haber varias ventanas graficas abiertas. La función figure se utiliza para abrir una nueva ventana grafica que será numerada de acuerdo con el parámetro, o bien, si ya existe una ventana con ese numero, se convertirá en la ventana grafica activa, donde se realizará la próxima representación grafica.  – clf: Limpia la ventana gráfica activa.  – close(n): Para cerrar una ventana gráfica.  close all cierra todas las ventanas gráficas.  – title: permite añadir un título a la grafica  – xlabel: añadir una etiqueta al eje horizontal de la grafica  – ylabel: añadir etiqueta al eje vertical  – grid: añadir una rejilla  – axis: permite modificar los límites de los ejes horizontal y vertical  – text: añadir un texto en una posición cualquiera de la grafica  – gtext: igual que text pero permite seleccionar la ubicación del texto mediante el ratón.
  • 11. La versión 3D de plot es plot3(u1, v1, w1, c1, u2, v2, w2, c2,…) Donde uj, vj, y wj son las coordenadas x, y, y z, respectivamente, de un punto. Son escalares, vectores de la misma longitud, matrices del mismo orden, o expresiones que, cuando se evalúan, resultan en una de esas cantidades. Para dibujar un conjunto de n líneas sin conectar cuyos puntos finales son (x1j,y1j,z1j) y (x2j,y2j,z2j), j = 1, 2, …, n • Así, plot3 es y = y y … y j = , x1 = […]; x2 = […]; y1 = […]; y2 = […]; z1 = […]; z2 = […]; plot3([x1; x2], [y1; y2], [z1; z2]) donde [x1; x2], [y1; y2], y [z1; z2] son matrices de (2×n)
  • 12. Todos los procedimientos de anotación descritas para los gráficos 2D son aplicables a las funciones de generación de curvas y superficies 3D, excepto que los argumentos de text se usa text(x, y, z, s) donde s es un string y zlabel se usa para etiquetar el eje z
  • 13. function BoxPlot3(x0, y0, z0, Lx, Ly, Lz) x = [x0, x0, x0, x0, x0+Lx, x0+Lx, x0+Lx, x0+Lx]; %(1×8) y = [y0, y0, y0+Ly, y0+Ly, y0, y0, y0+Ly, y0+Ly]; %(1×8) z = [z0, z0+Lz, z0+Lz, z0, z0, z0+Lz, z0+Lz, z0]; %(1×8) index = zeros(6,5); index(1,:) = [1 2 3 4 1]; index(2,:) = [5 6 7 8 5]; index(3,:) = [1 2 6 5 1]; index(4,:) = [4 3 7 8 4]; index(5,:) = [2 6 7 3 2]; index(6,:) = [1 5 8 4 1]; for k = 1:6 plot3(x(index(k,:)), y(index(k,:)), z(index(k,:)))
  • 14. Ejemplo: Onda senoidal sobre una superficie de un cilindro  Las coordenadas de una onda senoidal sobre la superficie de un cilindro se obtiene con  x = b cos(t) si a=10.0  y = b sin(t) b=1.0  z = ccos(at) c=0.3  0<=t<=2pi, el scrip es  t = linspace(0, 2*pi, 200);  a = 10; b = 1.0; c = 0.3;  x = b*cos(t);  y = b*sin(t);  z = c*cos(a*t);  plot3(x, y, z, 'k')  axis equal
  • 15. Matlab contiene un conjunto de funciones gráficas 3D para crear superficies, contornos, y variaciones, así como especializaciones de esas formas básicas • Una superficie se define por la expresión z = f (x, y) donde x e y son las coordenadas en el plano-xy y z es la altura resultante. Las funciones básicas de graficación de superficies son surf(x, y, z) y mesh(x, y, z) donde x, y, z son las coordenadas de los puntos en la superficie. surf – dibuja una superficie compuesta de parches de colores que dependen de la magnitud z mesh – dibuja parches de superficies blancas que se definen por su contorno.
  • 16. Ejemplos de superficies  Se requiere dibujar una superficie definida por definida en el rango −3 < x < 3 y −3 < y < 13 Se genera la función SurfExample para calcular las  z(x, y) = x4 + 3x2 + y2 - 2x - 2 y - 2x2 y + 6  coordenadas x, y ,z  function [x, y, z] = SurfExample  x1 = linspace(-3, 3, 15); % (1×15)  y1 = linspace(-3, 13, 17); % (1×17)  [x, y] = meshgrid(x1, y1); % (17×15) z = x.^4+3*x.^2−2*x+6- 2*y.*x.^2+y.^2-2*y; % (17×15)
  • 17. Gráficos de contornos  Las superficies también se pueden transformar en gráficos de contornos, que son gráficos de curvas formadas por la intersección de la superficie y un plano paralelo al plano xy en valores específicos de z  Las funciones surfc(x, y, z) y meshc(x, y, z) crean superficies con contornos proyectados debajo de la superficie. x, y, z son los valores de las coordenadas de puntos que definen la superficie  Se pueden crear contornos sin visualizar la superficie, con etiquetas o sin etiquetas  La función contour(x, y, z, v) crea un gráfico de contorno donde x, y, z son las coordenadas de los puntos que definen la superficie v, si es un escalar, es el número de niveles de contornos a visualizar y, si es un vector de valores, los contornos de la superficie en los valores de z. El uso de v es opcional.
  • 18. Si se quiere etiquetar el contorno se usan las funciones [C, h] = contour(x, y, z, v) clabel(C, h, v)
  • 19. Gráficos de contornos 3D  Para obtener los contornos de superficies en 3D, se usa contour3(x, y, z, v) donde x, y, z son las coordenadas de los puntos de la superficie v, si es un escalar, es el número de niveles de contornos a visualizar y, si es un vector de valores, los contornos de la superficie en los valores de z. El uso de v es opcional  Para etiquetar los contornos se usa [C, h] = contour3(x, y, z, v) clabel(C, h, v)
  • 20. Para una esfera de radio a y un elipsoide con su eje mayor en la dirección x igual a 2a, eje menor en la dirección y igual a 2b, y un eje menor en la dirección z igual a 2c, la proporción del volumen de un elipsoide con relación al volumen de una esfera es Se crea el siguiente programa para mejorar la comprensión de un gráfico de V como función de b/a para varios valores de c/a
  • 21. mejora de gráficos 2D con objetos 3D (código) b = [0.5, 1]; c = b; for k = 1:2 plot(b, b*c(k), 'k-') text(0.75, (b(1)*c(k)+b(2)*c(k))/2-0.02, ['c/a = 'num2str(c(k))]) hold on end xlabel('b/a') ylabel('V') for k = 1:4 K switch case 1 axes('position', [0.12, 0.2, 0.2, 0.2]) [xs, ys, zs] = ellipsoid(0, 0, 0, 1, b(1), c(1), 20); mesh(xs, ys, zs) text(0, 0, 1, ['b/a = ' num2str(b(1)) ' c/a = ' num2str(c(1))]) case 2 axes ('position', [0.1, 0.5, 0.2, 0.2]) [xs, ys, zs] = ellipsoid(0, 0, 0, 1, b(1), c(2), 20); mesh (xs, ys, zs) text (0, 0, 1.5, ['b/a = ' num2str(b(1)) ' c/a = ' num2str(c(2))])  case 3 axes ('position', [0.7, 0.65, 0.2, 0.2]) [xs, ys, zs] = ellipsoid(0, 0, 0, 1, b(2), c(2), 20); mesh (xs, ys, zs) text (-1.5, 0, 2, ['b/a = ' num2str(b(2)) ' c/a = ' num2str(c(2))]) case 4 axes ('position', [0.7, 0.38, 0.2, 0.2]) [xs, ys, zs] = ellipsoid(0, 0, 0, 1, b(2), c(1), 20); mesh (xs, ys, zs) text (-1.5, 0, 1.5, ['b/a = ' num2str(b(2)) ' c/a = ' num2str(c(1))]) end colormap([0 0 0]) axis equal off end
  • 22.