28
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA La Universidad Católica de Loja ESCUELA DE INGENIERÍA CIVIL ÁREA DE FÍSICA Y MATEMÁTICAS 2009

Matlab 2 Capitulo 6

Embed Size (px)

Citation preview

Page 1: Matlab 2 Capitulo 6

UNIVERSIDAD TÉCNICA PARTICULAR DE LOJALa Universidad Católica de Loja

ESCUELA DE INGENIERÍA CIVIL

ÁREA DE FÍSICA Y MATEMÁTICAS

2009

Page 2: Matlab 2 Capitulo 6

GRÁFICAS:CAPACIDADESADICIONALES

6.1 Gráficas Lineales y Logarítmicas.

6.2 Gráficas Múltiples.

6.3 Estilos de líneas y marcas.

6.4 Escalas de dos ejes.

6.5 Sub-gráficas.

6.1 Gráficas Lineales y Logarítmicas.

6.2 Gráficas Múltiples.

6.3 Estilos de líneas y marcas.

6.4 Escalas de dos ejes.

6.5 Sub-gráficas.

Page 3: Matlab 2 Capitulo 6

GRÁFICAS: CAPACIDADESADICIONALES.

La gráfica más común que usan los ingenieros y científicos es la gráficaxy. Los datos que se grafican por lo regular se leen de un archivo dedatos o se calculan en los programas, y se almacenan en vectores quellamaremos x y y. En general, supondremos que los valores xrepresentan la variable independiente, y los y, la variable dependiente.Los valores y pueden calcularse como función de x, o los valores x y ypodrían medirse en un experimento.

La gráfica más común que usan los ingenieros y científicos es la gráficaxy. Los datos que se grafican por lo regular se leen de un archivo dedatos o se calculan en los programas, y se almacenan en vectores quellamaremos x y y. En general, supondremos que los valores xrepresentan la variable independiente, y los y, la variable dependiente.Los valores y pueden calcularse como función de x, o los valores x y ypodrían medirse en un experimento.

Page 4: Matlab 2 Capitulo 6

Gráficas lineales y logarítmicas.La mayor parte de las gráficas que generamos dan por hecho que los ejes

x y y se dividen en intervalos equiespaciados; estas gráficas se llaman

gráficas lineales. Ocasionalmente, podríamos querer usar una escala

logarítmica en un eje o en ambos.

Una escala logarítmica (de base 10) es útil cuando una variable abarca

varios órdenes de magnitud, pues el amplio intervalo de valores puede

graficarse sin comprimir los valores más pequeños.

La mayor parte de las gráficas que generamos dan por hecho que los ejes

x y y se dividen en intervalos equiespaciados; estas gráficas se llaman

gráficas lineales. Ocasionalmente, podríamos querer usar una escala

logarítmica en un eje o en ambos.

Una escala logarítmica (de base 10) es útil cuando una variable abarca

varios órdenes de magnitud, pues el amplio intervalo de valores puede

graficarse sin comprimir los valores más pequeños.

Page 5: Matlab 2 Capitulo 6

Los comandos MATLAB para generar gráficas lineales y logarítmicas de losvectores X y Y son los siguientes:

plot(x,y) Genera una gráfica lineal con los valores de x y y.

semilogx (x,y)

Genera una gráfica de los valores de x y y usando unaescala logarítmicapara x y una escala lineal para y.

semilogy (x,y)

Genera una gráfica de los valores de x y y usando unaescala lineal para xy una escala logarítmica para y.

Gráficas lineales y logarítmicas.

semilogy (x,y)

Genera una gráfica de los valores de x y y usando unaescala lineal para xy una escala logarítmica para y.

loglog(x,y)Genera una gráfica de los valores de x y y usandoescalas logarítmicas tanto para x como para y.

Es importante tener presente que el logaritmo de un valor negativo o de cero

no existe. Por tanto, si los datos que van a graficarse en una gráfica semilog

o log-log contienen valores negativos o ceros, MATLAB exhibirá un mensaje

de advertencia informando que esos puntos de datos se han omitido en la

gráfica.

Page 6: Matlab 2 Capitulo 6

Todos estos comandos pueden ejecutarse también con un solo argumento, como en

plot (y). En estos casos, las curvas se generan usando como valores x los subíndices

del vector y.

Gráficas lineales y logarítmicas.

Graficas lineales y logarítmicas.

Page 7: Matlab 2 Capitulo 6

EJEMPLOS DE GRÁFICAS LINEALES

•Dada la función y = 2x2 + 1, obtener su gráfica en el intervalo de -10 hasta 10.

Gráficas lineales y logarítmicas.

Page 8: Matlab 2 Capitulo 6

Luego guardamos como un archivo.m en File-Save as con el nombre graficasman.m

Y ejecutamos en la ventana de comandos:

Gráficas lineales y logarítmicas.

>>graficasman>>graficasman

Page 9: Matlab 2 Capitulo 6

>>t = 1:1:100;>>m = sin(4*pi*t/100);>>plot(t,m,'+r:')>>title('GRAFICA DEL SENO')>>xlabel('tiempo'), ylabel('amplitud')>>grid

>>t = 1:1:100;>>m = sin(4*pi*t/100);>>plot(t,m,'+r:')>>title('GRAFICA DEL SENO')>>xlabel('tiempo'), ylabel('amplitud')>>grid

Gráficas lineales y logarítmicas.2. Realizar la gráfica del seno de 4pi.

Page 10: Matlab 2 Capitulo 6

EJEMPLOS DE GRÁFICAS LOGARÍTMICAS

Gráficas lineales y logarítmicas.

semilogx(x,y) Escala lineal para y y logarítmica para x.Ejemplo: graficar la función y con una escala logarítmica en x>> figure>> semilogx(x,y,'+r--'),title('GRAFICA 2'),xlabel('Eje x'),ylabel('Eje y')>> gridWarning: Negative data ignored (nos indica que solo se grafica la parte positiva)

semilogx(x,y) Escala lineal para y y logarítmica para x.Ejemplo: graficar la función y con una escala logarítmica en x>> figure>> semilogx(x,y,'+r--'),title('GRAFICA 2'),xlabel('Eje x'),ylabel('Eje y')>> gridWarning: Negative data ignored (nos indica que solo se grafica la parte positiva)

Primero:semilogx(x,y) Escala lineal para y y logarítmica para x.Ejemplo: graficar la función y con una escala logarítmica en x>> figure>> semilogx(x,y,'+r--'),title('GRAFICA 2'),xlabel('Eje x'),ylabel('Eje y')>> gridWarning: Negative data ignored (nos indica que solo se grafica la parte positiva)

semilogx(x,y) Escala lineal para y y logarítmica para x.Ejemplo: graficar la función y con una escala logarítmica en x>> figure>> semilogx(x,y,'+r--'),title('GRAFICA 2'),xlabel('Eje x'),ylabel('Eje y')>> gridWarning: Negative data ignored (nos indica que solo se grafica la parte positiva)

Page 11: Matlab 2 Capitulo 6

semilogy(x,y) Escala lineal para x y logarítmica para y.

Ejemplo: graficar la función y con una escala logarítmica en y.>>semilogy(x,y,'-.g>'),title('GRAFICA 3'),xlabel('Eje x'),ylabel('Eje y')Grid

semilogy(x,y) Escala lineal para x y logarítmica para y.

Ejemplo: graficar la función y con una escala logarítmica en y.>>semilogy(x,y,'-.g>'),title('GRAFICA 3'),xlabel('Eje x'),ylabel('Eje y')Grid

Segundo:

Gráficas lineales y logarítmicas.

Page 12: Matlab 2 Capitulo 6

loglog(x,y) Escala logarítmica para x y logarítmica para y.Ejemplo: graficar la función y con una escala logarítmica .>> loglog(x,y,':mo'),title('GRAFICA 4'),xlabel('Eje x'),ylabel('Eje y')grid

loglog(x,y) Escala logarítmica para x y logarítmica para y.Ejemplo: graficar la función y con una escala logarítmica .>> loglog(x,y,':mo'),title('GRAFICA 4'),xlabel('Eje x'),ylabel('Eje y')grid

Gráficas lineales y logarítmicas.Tercero:

Page 13: Matlab 2 Capitulo 6

Una forma sencilla de generar curvas múltiples en la misma gráfica es

usar múltiples argumentos en un comando de graficación, en donde las

variables x, y, w y z son vectores. Al ejecutarse este comando, se traza la

curva correspondiente a x vs y, y luego se traza en la misma gráfica la

curva correspondiente a w vs Z. La ventaja de esta técnica es que el

número de puntos de las dos curvas no tiene que ser el mismo. MATLAB

selecciona automáticamente diferentes tipos de líneas para poder

distinguir entre las dos curvas.

Otra forma de generar múltiples curvas en la misma gráfica es usar una

sola matriz con múltiples columnas. Cada columna se graficará contra un

vector x.

Gráficas múltiples.Una forma sencilla de generar curvas múltiples en la misma gráfica es

usar múltiples argumentos en un comando de graficación, en donde las

variables x, y, w y z son vectores. Al ejecutarse este comando, se traza la

curva correspondiente a x vs y, y luego se traza en la misma gráfica la

curva correspondiente a w vs Z. La ventaja de esta técnica es que el

número de puntos de las dos curvas no tiene que ser el mismo. MATLAB

selecciona automáticamente diferentes tipos de líneas para poder

distinguir entre las dos curvas.

Otra forma de generar múltiples curvas en la misma gráfica es usar una

sola matriz con múltiples columnas. Cada columna se graficará contra un

vector x.

Page 14: Matlab 2 Capitulo 6

>>f = [2 0 1];>>x = -10:1:10;>>y = polyval(f,x);>>g = [3 10 -1];>>w = -10:1:10;>>z = polyval(g,w);>>plot(x,y,w,z),title('GRAFICA 5'),xlabel('Eje x'),ylabel('Eje y')>>grid>>legend('y = f(x)','z = g(w)‘)

>>f = [2 0 1];>>x = -10:1:10;>>y = polyval(f,x);>>g = [3 10 -1];>>w = -10:1:10;>>z = polyval(g,w);>>plot(x,y,w,z),title('GRAFICA 5'),xlabel('Eje x'),ylabel('Eje y')>>grid>>legend('y = f(x)','z = g(w)‘)

Ejemplo 1:Gráficas múltiples.

>>f = [2 0 1];>>x = -10:1:10;>>y = polyval(f,x);>>g = [3 10 -1];>>w = -10:1:10;>>z = polyval(g,w);>>plot(x,y,w,z),title('GRAFICA 5'),xlabel('Eje x'),ylabel('Eje y')>>grid>>legend('y = f(x)','z = g(w)‘)

>>f = [2 0 1];>>x = -10:1:10;>>y = polyval(f,x);>>g = [3 10 -1];>>w = -10:1:10;>>z = polyval(g,w);>>plot(x,y,w,z),title('GRAFICA 5'),xlabel('Eje x'),ylabel('Eje y')>>grid>>legend('y = f(x)','z = g(w)‘)

Page 15: Matlab 2 Capitulo 6

>>fplot('sin(x)',[0 2*pi]) %Dibuja la función seno en el intervalo [0,2*pi]>>fplot('sin(x)',[0 2*pi]) %Dibuja la función seno en el intervalo [0,2*pi]

Ejemplo 2:

Gráficas múltiples.

>>hold on % Mantiene en la ventana gráfica los dibujos anteriores>>fplot('cos(x)',[0 2*pi]) %Dibuja sobre la gráfica anterior la función cos(x).>>hold on % Mantiene en la ventana gráfica los dibujos anteriores>>fplot('cos(x)',[0 2*pi]) %Dibuja sobre la gráfica anterior la función cos(x).

Page 16: Matlab 2 Capitulo 6

Ejemplo 2:

Gráficas múltiples.

>>hold off % Con esto olvida los dibujos anteriores% y dibuja en una ventana nueva

>>hold off % Con esto olvida los dibujos anteriores% y dibuja en una ventana nueva

Page 17: Matlab 2 Capitulo 6

Estilos de líneas y marcas.

Title Título de la gráficas

xlabel Nombre del eje x

A continuación les ofrecemos unos comandos que nos permitirán manipular ycontrolar de mejor forma los gráficos:

Leyendas

xlabel Nombre del eje x

ylabel Nombre del eje y

legend Leyendas de las gráficas

- continua_ guiones: punteada-. guiones y punots

-- doble lineanone sin línea

Líneas

Page 18: Matlab 2 Capitulo 6

. punto

+ más

* estrella

O círculo

X marca

S scuare

Marcas

Estilos de líneas y marcas

S scuare

D diamante

V triángulo (abajo)

^ triángulo (arriba)

< triángulo (izquierda)

> triángulo (derecha)

P pentagrama

H hexagrama

Page 19: Matlab 2 Capitulo 6

Bazul

Gverde

Rrojo

Ccyan

Colores

Estilos de líneas y marcas

Ccyan

Mmagenta

Yamarillo

Knegro

El uso de cada uno de estos comodines los especificaremos en cada

ejemplo a realizarse, según el tipo de gráfico.

Page 20: Matlab 2 Capitulo 6

Escalas de dos ejes

Axis

Mantiene la escala del eje actual para gráficassubsecuentes. Una segunda ejecución del comandoregresa el sistema al escalado automático.

Control

axis(v) Escala según el vector v[xmin,xmax,ymin,ymax]

Grid Proporciona cuadrícula a la gráfica.

hold on Permite realizar un gráfico en una ventana con ungráfico anterior sin borrar el mismo.

hold off Deshace el comando anteriorFigure Crea una nueva ventana para gráficos.

Page 21: Matlab 2 Capitulo 6

Sub-gráficas

El comando subplot permite dividir la ventana de gráficos en subventanas.

Las posibles divisiones pueden ser dos subventanas o cuatro subventanas.

Dos subventanas pueden quedar arriba y abajo o a la izquierda y a la

derecha. Una división de cuatro ventanas tiene dos subventanas arriba y dos

abajo. Los argumentos del comando subplot son tres enteros: m, n, p. Los

dígitos m y n especifican que la ventana de gráficos se divida en una retícula

de m por n ventanas más pequeñas, y el dígito p especifica la p-ésima

ventana para la gráfica actual. Las ventanas se numeran de izquierda a

derecha y de arriba a abajo.

El comando subplot permite dividir la ventana de gráficos en subventanas.

Las posibles divisiones pueden ser dos subventanas o cuatro subventanas.

Dos subventanas pueden quedar arriba y abajo o a la izquierda y a la

derecha. Una división de cuatro ventanas tiene dos subventanas arriba y dos

abajo. Los argumentos del comando subplot son tres enteros: m, n, p. Los

dígitos m y n especifican que la ventana de gráficos se divida en una retícula

de m por n ventanas más pequeñas, y el dígito p especifica la p-ésima

ventana para la gráfica actual. Las ventanas se numeran de izquierda a

derecha y de arriba a abajo.

Page 22: Matlab 2 Capitulo 6

Sub-gráficas

Por tanto, los siguientes comandos especifican que la ventana de gráficosse divida en una gráfica superior y una inferior, y que la gráfica actual secoloque en la subventana superior:

subplot(2,1,1),plot(x,y)>> subplot(m,n,p),plot(x,y)o>> subplot(m,n,p)plot(x,y)

subplot(2,1,1),plot(x,y)>> subplot(m,n,p),plot(x,y)o>> subplot(m,n,p)plot(x,y)

subplot(2,1,1),plot(x,y)>> subplot(m,n,p),plot(x,y)o>> subplot(m,n,p)plot(x,y)

subplot(2,1,1),plot(x,y)>> subplot(m,n,p),plot(x,y)o>> subplot(m,n,p)plot(x,y)

Donde:m : número de filas de la divisiónn : número de columnas de la divisiónp: indica la p-ésima ventana para la

gráfica actual

Page 23: Matlab 2 Capitulo 6

>> % Generar curvas de un polinomio>> %>> x=0:0.5:50;>> y=5*x.^2;>> subplot(2,2,1),plot(x,y),...title('Polinomio - lineal/lineal'),...ylabel('y'),grid,...subplot(2,2,2),semilogx(x,y),...title('Polinomio - log/lineal'),...ylabel('y'),grid,...subplot(2,2,3),semilogy(x,y),...title('Polinomio - lineal/log'),...xlabel('x'),ylabel('y'),grid,...subplot(2,2,4),loglog(x,y),...title('Polinomio - log/log'),...xlabel('x'),ylabel('y'),grid,...

>> % Generar curvas de un polinomio>> %>> x=0:0.5:50;>> y=5*x.^2;>> subplot(2,2,1),plot(x,y),...title('Polinomio - lineal/lineal'),...ylabel('y'),grid,...subplot(2,2,2),semilogx(x,y),...title('Polinomio - log/lineal'),...ylabel('y'),grid,...subplot(2,2,3),semilogy(x,y),...title('Polinomio - lineal/log'),...xlabel('x'),ylabel('y'),grid,...subplot(2,2,4),loglog(x,y),...title('Polinomio - log/log'),...xlabel('x'),ylabel('y'),grid,...

Ejemplo 1:

Sub-gráficas

>> % Generar curvas de un polinomio>> %>> x=0:0.5:50;>> y=5*x.^2;>> subplot(2,2,1),plot(x,y),...title('Polinomio - lineal/lineal'),...ylabel('y'),grid,...subplot(2,2,2),semilogx(x,y),...title('Polinomio - log/lineal'),...ylabel('y'),grid,...subplot(2,2,3),semilogy(x,y),...title('Polinomio - lineal/log'),...xlabel('x'),ylabel('y'),grid,...subplot(2,2,4),loglog(x,y),...title('Polinomio - log/log'),...xlabel('x'),ylabel('y'),grid,...

>> % Generar curvas de un polinomio>> %>> x=0:0.5:50;>> y=5*x.^2;>> subplot(2,2,1),plot(x,y),...title('Polinomio - lineal/lineal'),...ylabel('y'),grid,...subplot(2,2,2),semilogx(x,y),...title('Polinomio - log/lineal'),...ylabel('y'),grid,...subplot(2,2,3),semilogy(x,y),...title('Polinomio - lineal/log'),...xlabel('x'),ylabel('y'),grid,...subplot(2,2,4),loglog(x,y),...title('Polinomio - log/log'),...xlabel('x'),ylabel('y'),grid,...

Page 24: Matlab 2 Capitulo 6

Y aparecerá la siguiente gráfica.

Sub-gráficas

Page 25: Matlab 2 Capitulo 6

>>f = [2 0 1];>>x = -10:1:10;>>y = polyval(f,x);>>subplot(2,3,1),plot(x,y),grid,title('PARABOLA')>>theta = 0:2*pi/100:2*pi;>>r = theta/(2*pi);>>subplot(2,3,3),polar(theta,r),title('ESPIRAL')>>t = 1:1:100;>>m = sin(4*pi*t/100);

>>subplot(2,3,5),plot(m),title('SENO'),grid

>>f = [2 0 1];>>x = -10:1:10;>>y = polyval(f,x);>>subplot(2,3,1),plot(x,y),grid,title('PARABOLA')>>theta = 0:2*pi/100:2*pi;>>r = theta/(2*pi);>>subplot(2,3,3),polar(theta,r),title('ESPIRAL')>>t = 1:1:100;>>m = sin(4*pi*t/100);

>>subplot(2,3,5),plot(m),title('SENO'),grid

Ejemplo 2:

Sub-gráficas

>>f = [2 0 1];>>x = -10:1:10;>>y = polyval(f,x);>>subplot(2,3,1),plot(x,y),grid,title('PARABOLA')>>theta = 0:2*pi/100:2*pi;>>r = theta/(2*pi);>>subplot(2,3,3),polar(theta,r),title('ESPIRAL')>>t = 1:1:100;>>m = sin(4*pi*t/100);

>>subplot(2,3,5),plot(m),title('SENO'),grid

>>f = [2 0 1];>>x = -10:1:10;>>y = polyval(f,x);>>subplot(2,3,1),plot(x,y),grid,title('PARABOLA')>>theta = 0:2*pi/100:2*pi;>>r = theta/(2*pi);>>subplot(2,3,3),polar(theta,r),title('ESPIRAL')>>t = 1:1:100;>>m = sin(4*pi*t/100);

>>subplot(2,3,5),plot(m),title('SENO'),grid

Page 26: Matlab 2 Capitulo 6

Sub-gráficasY aparecerá la siguiente gráfica.

Page 27: Matlab 2 Capitulo 6

>>x = 0:0.1:10;>>y = sin(x)./x;Warning: Divide by zero

>>subplot(221),plot(x,y),title(‘(i)')>>u=1./(x-1).^2+x;Warning: Divide by zero

>>subplot(222), plot(x,u),title(‘(ii)')>>v = (x.^2+1)./(x.^2-4);Warning: Divide by zero>>subplot(223), plot(x,v),title(‘(iii)')>>w = ((10-x).(1/3)-1)./sqrt(4-x.^2);Warning: Divide by zero>>subplot(224), plot(x,w),title(‘(iv)')Warning: imaginary parts of complex X and/or Y arguments

>>x = 0:0.1:10;>>y = sin(x)./x;Warning: Divide by zero

>>subplot(221),plot(x,y),title(‘(i)')>>u=1./(x-1).^2+x;Warning: Divide by zero

>>subplot(222), plot(x,u),title(‘(ii)')>>v = (x.^2+1)./(x.^2-4);Warning: Divide by zero>>subplot(223), plot(x,v),title(‘(iii)')>>w = ((10-x).(1/3)-1)./sqrt(4-x.^2);Warning: Divide by zero>>subplot(224), plot(x,w),title(‘(iv)')Warning: imaginary parts of complex X and/or Y arguments

Sub-gráficasEjemplo 3:

>>x = 0:0.1:10;>>y = sin(x)./x;Warning: Divide by zero

>>subplot(221),plot(x,y),title(‘(i)')>>u=1./(x-1).^2+x;Warning: Divide by zero

>>subplot(222), plot(x,u),title(‘(ii)')>>v = (x.^2+1)./(x.^2-4);Warning: Divide by zero>>subplot(223), plot(x,v),title(‘(iii)')>>w = ((10-x).(1/3)-1)./sqrt(4-x.^2);Warning: Divide by zero>>subplot(224), plot(x,w),title(‘(iv)')Warning: imaginary parts of complex X and/or Y arguments

>>x = 0:0.1:10;>>y = sin(x)./x;Warning: Divide by zero

>>subplot(221),plot(x,y),title(‘(i)')>>u=1./(x-1).^2+x;Warning: Divide by zero

>>subplot(222), plot(x,u),title(‘(ii)')>>v = (x.^2+1)./(x.^2-4);Warning: Divide by zero>>subplot(223), plot(x,v),title(‘(iii)')>>w = ((10-x).(1/3)-1)./sqrt(4-x.^2);Warning: Divide by zero>>subplot(224), plot(x,w),title(‘(iv)')Warning: imaginary parts of complex X and/or Y arguments

Page 28: Matlab 2 Capitulo 6

Y aparecerá la siguiente gráfica.

Sub-gráficas