Você está na página 1de 80

Ing. Oswaldo G. Velásquez A.

AGENDA DEL CURSO


¿Qué es Matlab?
MATrix LABoratory
Introducción
Consola

Workspace

Variables (escalares)

Prioridad de Operadores

Matrices
Consola
Comandos Básicos de S.O.:

• >>dir
• >>cd
Comandos de Matlab:
• >>clc
• >>clear
workspace
• >>whos %muestra el workspace en consola
Variables
• >>namelengthmax %longitud máxima de una variable
• >>isvarname var_1 %verifica si una variable es valida,
devuelve true,false
• >>iskeyword
• Ejemplo erróneo
• >>cos(pi)
• >>cos = 4
• >>cos(pi) %error
• >>clear cos %solución
• >>cos(pi)
• which cos %verifica si una variable es función interna
Prioridad de Operadores
• (),^,*,/,+,- Todo de izquierda a derecha
• calcular
Ejemplo de prioridad de operadores
Ejercicios Operadores
Matrices
Vectores
• Vectores con datos secuenciales:
• >>a=[inicio:incremento_de_distancia:final]
• Ej.
• >>a=[1:3:30]
• >>b=[1:3:30]
• >>plot(a,b)
• >>A=[3 4 6,8,10]
• Acceso a los datos
• >>A(2)
• >>A(end)
Vectores
• (a:b) incremento default 1 en 1
• (a:c:b) incremento de c en c.
• linspace (a,b,c) entre los valores a y b con c elementos.
• linspace (a,b) 100 elementos.
• logspace (a,b,c) genera un vector logarítmicamente espaciado entre
los valores 10^a y 10^b con c elementos.
• logspace (a,b) genera un vector logarítmicamente espaciado entre los
valores 10^a y 10^b con 50 elementos.
Vectores. Ejercicios
• (1:7)
• 1:7
• 1:3:10
• 1:4:10
• 1:0.1:1
• 50:-7:1
• linspace (2,6,3)
• linspace (2,6,4)
• linspace (2,10)
• logspace (0,2,4)
• logspace (0,25)
Vectores: Operaciones con un escalar
• Longitud de un vector: length(v) o size(v)
Vectores: Operaciones con vectores
Vectores: operaciones
• >>X=[1 2 3 4 5 6]
• >>sin(X)
• >>log(X)
Vectores: ejercicios
• Dado el Vector: grados=[20,30,35,15];
• Convertirlo a radianes:
• Mostrar resultados en una Tabla

• Tabla=[grados’ radianes’]
Decimales
• format long % 14 dígitos decimales
• Format short % 4 dígitos decimales
Programación

Operadores Relaciones

Estructuras de Control

Estructuras Repetitivas

Ejercicios
Operadores relacionales
• 1 verdadero (true) y el O para falso (false).
Tabla de Verdad
• V = true;
• F = false;
• p = [V;V;F;F];
• q = [V;F;V;F];
• tabla = [p , q , p & q, p | q]
Prioridad de los operadores
Ejemplos
• >> a=6;
• >> b=7;
• >> c= a<b
• >>c= a>b
• >> c= a==b
• >> c= a~=b
Ejemplos
• >> a=[1:1:9]
• >> b=[4 3 2 1 0 -1 -2 -3 -4]
• >> c=a<6
• >> c= a==b
• >> c= a~=b
• >> c= (a>b)&(b>-1)
• >> x =(a>b)|(b>-1)
Ejercicios
Estructuras de Control
Estructuras de Control
Estructuras de Control: switch
Estructuras repetitivas: Bucles
Bucle: FOR
Bucle: While
Gestión de errores; Try...Catch…End
Ejercicios
Funciones y Gráficos
Gestión de Errores: try … catch…end
• >> x=[1 2 3 4 5];
• >> y=[1 2 3 4 5 6 7];
• >> try
• z=x/y;
• catch
• disp('erororororororo')
• z=NaN
• end
Entrada/Salida
>> n = input('Teclee el número de ecuaciones');

>> disp('El programa ha terminado')


>> A=rand(4,4)
>> disp(A)
Entrada/Salida
» num = 2.0393938;
» fprintf('El volumen de la esfera es: %12.5f \ n',num);
El volumen de la esfera es: 2.03939
Ejercicio: resolver la Ecuación de 2do grado.
Funciones definidas por el usuario
Funciones: Ejemplo
Ejercicios: crear dos funciones
Gráficos en 2D
• >> x=[3 7 1 3 9];
• >> plot(x)
• >> x=[-4 -2 0 1 3 5];
• >> y=[16 4 0 1 9 25];
• >> plot(x,y);
• Imginario
• >> x=[5+3i];
• >> plot(x,'*')
Gráficos en 2D
• clear,clc,clf;

• A = 1;
• w = 10 * pi;
• rho = 0.5;
• t = 0:0.001:1;
• sq = A*square(w*t+rho);
• plot(t,sq);
• ylim([0 1.5]);
Gráficos 2D: fplot
• >> fplot('sin(x)', [0 10]);
Gráficos en 2D: configurar entorno
• x=[-3 -2 -1 0 1 2 3];
• y=[9 4 1 0 1 4 9];
• plot(x,y)
• title('Experimento de lab. 1')
• xlabel('eje x')
• ylabel('eje y')
• grid on
Gráficos 2D: ejemplos
• >> ezplot('sin(x)')
• >>ezplot('x^2',[-1 1])
• >> ezplot('exp(x)')

• funcion = input('introduzca la funcion = '); % ‘cos(x)’


• a = input('intervalo a = '); %0
• b = input('intervalo b = '); %2*pi
• fplot(funcion,[a b]) %fplot('sin(x)',[0 2*pi])
Gráficos 2D: Ejemplos
>>fplot('x^2*sin(1/x)',[-0.05 0.05])

Dos gráficos sobrepuestos:

>> x=0:pi/100:2*pi;
>> y1=cos(x*4);
>> plot(x,y1)
>> y2=sin(x);
>> hold on;
>> plot(x,y2)
Grafico 2D: Ejemplos
>> x=0:pi/100:2*pi;
>> y1=cos(x*4);
>> y2=sin(x);

• >>plot(x,y1, x,y2);
• >> Y=[y1;y2];
• >> plot(x,Y);
Gráficos 2D: ejemplos
• >> x=0:pi/100:2*pi;
• >> y1=cos(x)*2;
• >> y2=cos(x)*3;
• >> y3=cos(x)*4;
• >> y4=cos(x)*5;
• >> z=[y1;y2;y3;y4];
• >> plot(x,y1,x,y2,x,y3,x,y4)
Gráficos 2D: fill(x,y,c)
• Donde c:
• c=('r','g','b','c','m','y','w','k')
• c=[r g b]
• c=[vector]
• Ejemplo:
• >> x=[1 5 4 2];
• >> y=[1 0 4 3];
• >> fill(x,y,'r'); %un solo color
• >> fill(x,y,[0.2 0.6 0.5]) % [r g b]
• >> fill(x,y,[1 0.5 0.9 0.2]) %[vector escala colores]
• >> colormap(gray), fill(x,y[1 0.5 0.8 0.7]) %gris
• >> fill(x,y,rand(1,4))% usando interpolaciónde colores randomico
Gráficos 2D: entrada de puntos con el ratón
• n = input('numero de puntos = ');
• clf
• [x,y]=ginput(n);
• figure(gcf),
• plot(x,y,'w'),
• pause(1),
• fill(x,y,rand(1,n))
Gráficos 2D: Escalas en los ejes
• plotyy (x1,y1,x2,y2)
• loglog(x,y)
• semilogx(x,y)
• semilogy()
Gráficos 2D: Escalas en los ejes. Ejemplos
• >> x1=linspace(0.1,60,1000);
• >> x2=x1;
• >> y1=x1;
• >> y2=2.^(-0.2*x1-10);
• >> title('\fontsize{20} Grafico');
• >> plotyy(x1,y1,x2,y2);
Grafico 2D: Curvas paramétricas
Grafico 2D: Curvas paramétricas
• clf, t=linspace(-5,5,1000);
• plot((t.*(t.^2-1))./(t.^2+1),(2*(t.^2-1))./(t.^2+1));
• comet((t.*(t.^2-1))./(t.^2+1),(2*(t.^2-1))./(t.^2+1));
Grafico 2D: Curvas en coordenadas polares

• genera una gráfica polar del ángulo theta (en radianes) y distancia
radial r.
• Ejemplo:
• clf, theta=0:pi/100:pi;
• r=12*cos(5.*theta);
• polar(theta,r,'r');
Gráficos 2D: Gráficos Estadísticos
• x=[1990:2012];
• y=rand(1,23)*1000;
• w=[12,5,18,11,2];
• clf,subplot(2,2,1),pie(w);
• subplot(2,2,2),pie3(w);
• subplot(2,2,3),area(x,y);
• subplot(2,2,4),stairs(x,y);
Gráficos en 3D
Gráficos en 3D: parábola
• clear, clc;
• x = linspace(-100,100, 1000);
• y = linspace(-100,100, 1000);
• z = x.*x;
• plot3(x,y,z,'r','linewidth',3),
• grid;
• xlabel(‘eje-X'),
• ylabel(‘eje-Y'),
• zlabel(‘eje-Z');
• title(‘parabola');
Gráficos 3D: Ejemplos resorte
• clear, clc;
• x = linspace(0, 10*pi, 1000);
• y = cos(x);
• z = sin(x);
• plot3(x,y,z,'r','linewidth',3),
• grid;
• xlabel('ángulo'),
• ylabel('cos(x)'),
• zlabel('sen(x)');
• title('Un resorte');
Gráficos 3D: Comet, Ejemplos resorte
• clear, clf;
• t = 0:pi/50:10*pi;
• comet3(sin(t),cos(t),t),
• Hold on,
• figure(gcf),
• Grid on;
• xlabel('eje-X'), ylabel('eje-Y'), zlabel('eje-Z');
• title('Un resorte'), comet3(sin(t),cos(t),t);
• holdoff
Gráficos 3D: Superficie,mesh
• z=f(x,y)
• mesh(graficas de malla o mallados)
• surf(gráficas de superficie)

• Ejm.
• clear,clf;
• z = [1 1 1 1 1 1 1 1 1 1; 1 1 1 1 1 1 1 1 1 1;
• 4 4 4 4 4 4 4 4 4 4;
• 10 10 10 10 10 10 10 10 10 10];
• mesh(z),
• xlabel('eje-X'),
• ylabel('eje-Y'),
• zlabel('eje-Z');
Gráficos 3D: Superficie,mesh
• clear,clf;
• x=[10 20 30];
• y=[10 20 30];
• z = [ 1 1 1;
• 222;
• 3 3 3] ;
• mesh(x,y,z),
• xlabel('eje-X'),
• ylabel('eje-Y'),
• zlabel('eje-Z');
Gráficos 3D: Superficie,mesh, x*x
• clear,clf;
• x=[-2:0.2:2];
• y=[-2:0.2:2];
• [X,Y]=meshgrid(x,y);
• Z=X.*X;
• mesh(X,Y,Z),figure(gcf);
• xlabel('eje-X'),
• ylabel('eje-Y'),
• zlabel('eje-Z');
Gráficos 3D: Superficie,mesh, practica
Gráficos 3D: Superficie,mesh, practica
• x=[-2.1:0.15:2.1];
• y=[-6:0.15:6];
• [X,Y]=meshgrid(x,y);
• Z= 80*Y.^2.*exp(-X.^2 -0.3*Y.^2);
• mesh(X,Y,Z)
Gráficos 3D: Superficie, surf(flat,interp)
• clear, clf;
• x= [-2 :0.2: 2] ;
• y= [-2 :0.2: 2] ;
• [X,Y]=meshgrid(x,y) ;
• Z= X.*exp(-X.^2 -Y.^2);
• subplot(1,2,1);
• surf(X,Y,Z), shading flat;
• title('Sombreado aplanado');
• xlabel('eje x'), ylabel('eje y'),zlabel('eje z');
• subplot(1,2,2);
• surf(X,Y,Z), shading interp,
• title('Sombreado interpolado');
• xlabel('eje x'), ylabel('eje y'),zlabel('eje z');
Gráficos 3D: Superficie, surf(flat,interp)
• x = -10:0.5:10;
• y = -10:0.5:10;
• [X,Y] = meshgrid(x,y);
• Z = sin (sqrt(X .^2 + Y .^2)) ./ sqrt(X .^ 2 + Y .^ 2 + 0.1);
• %colormap(hot);
• surf (X,Y,Z), shading interp;
• %colormap('default');
Gráficos 3D: Superficie, peaks
• >> [x,y,z]=peaks;
• >> surf(x,y,z);
• %en el archivo .m
• [x,y,z] = peaks;
• subplot(2,2,1);
• pcolor(x,y,z);
• subplot(2,2,2);
• pcolor(x,y,z); shading interp;
• subplot(2,2,3);
• pcolor(x,y,z); shading interp;
• hold on;
• contour(x,y,z,20,' k ');
• subplot(2,2,4);
• contour(x,y,z);
Gráficos 3D: Superficie, peaks
Animaciones

Introducción

frame

Estructuras

Ejercicios
Introducción
• clear,clc;
• for i=1:1000
• T(i)=cos(i);
• plot(T);
• drawnow;
• pause(0.3)
• end
Frame
• Una película se compone de varias imágenes, denominadas cuadros o
frames.

• Getframe devuelve el contenido de la gráfica encerrada entre los ejes.


• getframe(gcf) captura el contenido de toda la ventana gráfica

• movie(M) reproduce la película almacenada en la matriz M.


• movie(M,N)reproduce la película N veces
Estructura básica
Animaciones: ejemplo
• x=[-2*pi:0.1:2*pi];
• for j=1:30
• y=sin(x+j*pi/8);
• plot(x,y);
• M(j) = getframe;
• end
• movie(M,20) %reproduce M 20 veces
Animación: peaks
• for j=1:130
• surf(peaks);
• view([j,50,10])
• M(j) = getframe;
• end
• movie(M,20) %reproduce M 20 veces
Animación: peaks
• for i=1:30
• for j=1:100
• surf(peaks);
• view([i,j,30])
• M(j) = getframe;
• end
• end
• movie(M,20) %reproduce M 20 veces

Você também pode gostar