Matlab graficos

17
ESCUELA SUPERIOR POLITECNICA DE CHIMBORAZO FACULTAD DE INFORMATICA Y ELECTRONICA ELECTRO NICA EN CONTROL Y REDES INDUSTRIALES NOMBRES: Jhony Tacuri 216 Eric Wilca 1

description

tutorial de graficas en matlab

Transcript of Matlab graficos

Page 1: Matlab graficos

ESCUELA SUPERIOR POLITECNICA DE CHIMBORAZOFACULTAD DE INFORMATICA Y ELECTRONICA

ELECTRO NICA EN CONTROL Y REDES INDUSTRIALES

NOMBRES:Jhony Tacuri 216Eric Wilca

1

Page 2: Matlab graficos

Tutorial de MATLAB

2

GRAFICA X vs. Y: Gráficas x vs. y sencillas. Suponga que queremos graficar los siguientes datos recabados de un experimento con un modelo de coche de control remoto. El experimento se repite 10 veces, midiendo la distancia que un móvil recorre en cada ensayo.

(x) “Ensayo” (y) “Distancia”1 58.52 63.83 64.24 67.35 71.56 88.37 90.18 90.69 89.510 90.4

Page 3: Matlab graficos

Tutorial de MATLAB

3

Pruebe generar esta gráfica: creando un vector llamado x con los datos de la columna “Ensayo”, y un vector llamado y con los datos de la columna “Distancia” y en seguida teclee :plot (x, y), grid y de enterSe genera automáticamente la gráfica.

“La buena práctica de ingeniería exige la inclusión de unidades y un titulo”

Por lo tanto en el código anterior incluya los siguientes comandos:

plot(x,y), title (‘Gráfica de experimento’), xlabel ( ‘Ensayo’), ylabel (‘Distancia’), grid

Si se agrega un tercer argumento en el comando plot éste controla el color y el estilo de la gráfica. Es una cadena la que determina el color de la línea, estilo de la misma y los símbolos (si los hay ) utilizado para los puntos de marca, por tanto intente dar elegancia a su grafica anterior agregando al comando plot:

plot (x,y,’ro’), grid

Page 4: Matlab graficos

Tutorial de MATLAB

4

LISTA DE CARACTERES

COLOR MARCADOR ESTILO DE LINEAy amarillo . punto - continuam magenta o circulo : punteadac cyan x marca x -. guión-puntor rojo + más -- guionadag verde * asteriscob azul s cuadradow blanco d diamantek negro v triangulo(hacia abajo)

^ triangulo (hacia arriba)

Page 5: Matlab graficos

Tutorial de MATLAB

5

Los archivos .m o archivos .MEste tipo de archivo es de lo más importe que se puede generar por el usuario en MATLAB, es un archivo que ejecuta las instrucciones programadas en él, y que pueden convertirse en un comando de matlab.Ahora tu crearas un archivo .m

Desde la ventana de matlab selecciona new, M-file

Aparecerá un blok de notas dentro de él, declara las siguientes variables:Tecleé:t =[0:0.001:2]; % Este vector se puede también generar con: linspace(0,0.001,2).m = 2;y = m .*t;plot(t, y, 'r', ‘linewidth’,4),grid %´linewidth´, 4 : te da el grueso de la linea.

Después guarda este código en el mismo blok de notas en la parte superior ( file save en el drive e: pendiente.m si es memoria USB) con el nombre pendiente.m, esté nombre de archivo se convierte en un comando de Matlab con el nombre pendiente.Ejecútalo en la pantalla de comandos llamándolo sólo con su nombre “pendiente” sin la extensión.m (antes de llamarlo recuerda cambiarte de directorio del C: al e: con la instrucción cd e: si es el caso) .Este archivo .m puedes llevarlo a otra computadora que tenga el programa matlab y ejecutarlo .

Page 6: Matlab graficos

Tutorial de MATLAB

MATLAB provee excelentes funciones para gráficas en una y dos dimensiones.Veamos un par de ejemplos sencillos. Suponga que queremos trazar la gráfica de la

función y=t^2*e(-t.^2);

Esto lo podemos lograr con las instrucciones:Tecleé:t=[-10:.1:10]; % La primera instrucción divide el intervalo

[-10,10]en subintervalos de largo 0.1y=t .^2 .*exp(-t.^2); % Esta línea evalúa la función en los

puntos.plot(t,y,'linewidth',4),grid % Grafica la función.

6

Page 7: Matlab graficos

Tutorial de MATLAB

Supongamos ahora que queremos dibujar una superficie:Tecleé:x=-10:0.5:10; %Las primeras dos

instrucciones dividen los ejes de “x" y "y" en subintervalos de largo 0.5.

y=x;[X,Y]=meshgrid(x,y); %la tercera instrucción genera

una rejilla en el conjunto [-10,10] x [-10,10] con cuadraditos de lados 0.5 ,

Z=X.^2.*exp(-Y.^2); % La cuarta instrucción evalúa la función en los puntos de la rejilla, y finalmente trazamos la superficie con surf.

surf(X,Y,Z),title('Grafica de superficie')

7

Page 8: Matlab graficos

Tutorial de MATLAB

8

GRAFICAS LINEALES Y LOGARÍTMICAS: La mayor parte de las gráficas que generamos dan por hecho que los ejes x vs. y se dividen en intervalos equiespaciados; estas gráficas se llaman gráficas lineales. Una escala logarítmica (de base 10) es útil cuando una variable abarca varios órdenes de magnitud.

Los comandos MATLAB para generar gráficas lineales y logarítmicas de los vectores 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 una escala logarítmica para x y una escala lineal para y.semilogy (x,y) Genera una gráfica de los valores de x y y usando una escala lineal para x y una escala logarítmica para y.loglog (x,y) Genera una gráfica de los valores de x y y usando escalas logarítmicas tanto para x como para y.Más adelante se verá como utilizar estos comandos (tarea código No.2)

Page 9: Matlab graficos

Tutorial de MATLAB

9

GRAFICAS MULTIPLES: Una forma sencilla de generar curvas múltiples en la misma gráfica es usar múltiples argumentos en un comando de graficación, como en

Plot (x, t, y ,t) Al ejecutarse este programa, se traza la curva correspondiente a x versus t, y luego se traza en la misma grafica la curva correspondiente y versus t.

Más adelante se verá como utilizar estos comandos ( tarea código 3).

Tarea: Comenta (con %) los comandos en los siguientes tres códigos, usa archivos .M, imprime tus graficas y preséntalos al maestro del curso son parte de la evaluación del mismo.

Page 10: Matlab graficos

Tutorial de MATLAB

10

Código No.1v1=[0:0.001:.7979];w1=298;q=1.6022e-19;n=1.5;k=1.38e-23;num1=q.*v1;den1=n*k*w1;M1=num1./den1; x1=1e-9.*exp(M1);v2=[0:0.0001:.6379];w2=358;num2=q.*v2; en2=n*k*w2;M2=num2./den2; x2=1024e-9.*exp(M2);plot(v1,x1,'b',v2,x2,'r'), title('ECUACION DEL DIODO'), legend('TEMPERATURA 298k', 'TEMPERATURA 358k'), grid

Page 11: Matlab graficos

Tutorial de MATLAB

11

SUBGRÁFICAS: El comando subplot permite dividir la ventana de gráficos en subventanas. Las posibles divisiones pueden ser dos subventanas o cuatro subventanas o incluso 8 ventanas en una hoja.. 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 digito p especifica la p-ésima ventana para la gráfica actual ( donde se ubica esta grafica) . Las ventanas se numeran de izquierda a derecha y de arriba abajo.Por ejemplo el siguiente comando Subplot(2,1,1), plot(x,y) especifica que la ventana de gráficos se divida en una grafica superior y una inferior ( dos líneas de graficas en una columna ) y que la grafica actual plot(x,y) se coloque en la ventana superior (código No.2).

El siguiente juego de instrucciones genera cuatro graficas que ilustran la función del comando subplot empleando escalas lineales y logarítmica.

Page 12: Matlab graficos

Tutorial de MATLAB

12

Código No. 2t=[0:0.001:1];f=2;w=2*pi*f; x=((1/2).*(1+cos(2*w.*t)));subplot(2,2,1),plot(t,x,'r','linewidth',2),grid,...subplot(2,2,2),semilogx(t,x,'b','linewidth',2),grid,...subplot(2,2,3),semilogy(t,x,'r','linewidth',2),grid,...subplot(2,2,4),loglog(t,x,'b','linewidth',2),gridCódigo No. 3t=[-6*pi:.001:6*pi];w1=2/3;w2=1/2;w3=1/3;x1=2.*sin(w1.*t);x2=3.*sin(w2.*t);x3=4.*sin(w3.*t);plot(t,x1,'b',t,x2,'r',t,x3,'k','linewidth',2),title('Cada senoide completa un numero entero de ciclos'),grid

Page 13: Matlab graficos

Tutorial de MATLAB

Código No. 3t=[-6*pi:.001:6*pi];w1=2/3;w2=1/2;w3=1/3;x1=2.*sin(w1.*t);x2=3.*sin(w2.*t);x3=4.*sin(w3.*t);plot(t,x1,'b',t,x2,'r',t,x3,'k','linewidth',2),title('Cada senoide completa un

número entero de ciclos'),grid

13

Page 14: Matlab graficos

Tutorial de MATLAB

Código No.4t=0:.001:1;x=2*sin(8*pi*t);plot(t,x,'r','linewidth',2),gridn=0:1:15;y=2*sin(8*pi*(1/15)*n);subplot(2,1,1),plot(t,x,'r','linewidth',3),grid,subplot(2,1,2),stem(n,y,'linewidth',3),grid

14

Page 15: Matlab graficos

Tutorial de MATLAB

15

Page 16: Matlab graficos

Tutorial de MATLAB

Intenta crear una grafica usando el ciclo for

Teleé t=[-1:.005:1]; f=1;w0=2*pi*f;x=1.5*ones(size(t));for i=1:100;x=x+((-1)^(i+1))*(1/i)*sin(i*w0.*t);endplot(t,x,'r','linewidth',2), grid

16

Page 17: Matlab graficos

Tutorial de MATLAB

Una más

t=[-2:0.001:2];x=0.25*ones(size(t));for m=1:2:99x=x+(-1)^((m-1)/2)*1/(m*pi)*exp(i*m*pi*t);endplot(t,x,'r','linewidth',2),grid

Saca tus conclusiones

17