MATrix LABoratory “MATLAB” TECNOLÓGICO DE MONTERREY CAMPUS SALTILLO

Slides:



Advertisements
Presentaciones similares
Profesor Hermann Pempelfort. Punto y coma Permite que no se muestre por pantalla la acción o resultado ejecutado. Ejemplo1: x = 3 Ejemplo2: x = 3; Ejemplo3:
Advertisements

Introducción a Simulink
Qué es LabVIEW? LabVIEW (Laboratory Virtual Instrument Engineering Workbench) es un lenguaje de programación gráfico para el diseño de sistemas de adquisición.
Introducción a Matlab Lectura 1.
Fundamentos de la Programación Estructurada
Introducción/repaso a MATLAB
LabVIEW MathScript.
Desarrollo de Aplicaciones para Internet
Concepto de programa. Directorio Concepto de programa. Analisis del problema. Resolucion del problema. Desarroollo de un programa. Partes constitutivas.
Unidad académica: Ingenierías
FUNDAMENTOS DE MATLAB MATrix LABoratory.
Fundamentos de Matlab.
Programación en Matlab
Introducción a Matlab Lectura 1.
R. Introducción R es una versión del lenguaje de programación S desarrollado por John Chambers en los laboratorios Bell en R fue escrito inicialmente.
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
Introducción al lenguaje R Sesión 2: Objetos en R
Prof. Esteban Hernández
Guía Rápida de Ayuda para mecanismos del Software Guía Rápida de Ayuda para mecanismos del Software 1- Requerimientos del sistema 2- Una mirada rápida.
Interpolación de Lagrange
Departamento de Informática Universidad Técnica Federico Santa María Capítulo 2 “Subprogramas/Funciones - Arreglos” Arreglos-Arrays.
Programación en Matlab
Gráfica en 2D. Funciones plot() crea un gráfico a partir de vectores y/o columnas de matrices, con escalas lineales sobre ambos ejes loglog() ídem con.
Tema 7. Introducción a lenguaje de programación Visual Basic (clase 1)
Instrucciones if/else y while
Métodos iterativos para sistemas lineales
Introducción al análisis de algoritmos
MATLAB … una introducción. Guión l¿Por Qué Matlab? lComandos básicos lConstantes. Operaciones. lVariables. ðAsignar. Eliminar. ðGuardar. Recuperar. lFunciones.
MAESTRÍA EN INGENIERÍA Y GESTIÓN AMBIENTAL
Materiales complementarios
Tutorial Introductorio
Entorno. Indica el directorio en el que se trabaja y los archivos que posee. WORKSPACE: espacio de trabajo.
Arreglos: Controles e Indicadores
Teoría – Alejandro Gonzalez
Práctica 1 Introducción a MATLAB. vMandatos básicos vVariables vFunciones vComplejos vVectores vMatrices vPolinomios vGráficas vProgramación.
¿Qué es MatLab? MatLab es un programa interactivo para el análisis, diseño, cálculo numérico y tratamiento de datos. Contine muchas herramientas.
Programación MATLAB v. 5-3.
Matrices – Determinantes Sistemas de Ecuaciones lineales
Recursividad (2 clases) 1. Nivelación Funciones Menú Vectores String
Matrices – Determinantes Sistemas de Ecuaciones lineales
UNIVERSIDAD DE PUERTO RICO RECINTO UNIVERSITARIO DE MAYAGÜEZ Departamento de Ingeniería Industrial CENTRO DE CÓMPUTO INGENIERÍA INDUSTRIAL 2006.
Optimización para Ingenieros
MATLAB para Economistas
Teoría de Sistemas Operativos Administración de Archivos.
Arreglos y comunicación Usuario
TALLER DE COMPUTACION ( ) Dr. GUEORGI KHATCHATOUROV
TEMA 2: SISTEMAS OPERATIVOS. ENTORNO MONOUSUARIO
ELEMENTOS DE COMPUTACIÓN Profesor: Guillermo Figueroa
Programación con MATLAB 5.3
SISTEMA OPERATIVO WINDOWS.
Tutorial de MATLAB para Pronóstico Numérico 1er Cuatrimestre 2008.
Introducción/repaso a MATLAB Procesamiento de Señales 1 Germán Montoya, Universidad Pontificia Bolivariana Medellín,
Fundamentos de Programación
Algoritmo.
MENORES Y COFACTORES.
Grupo de Modelamiento de Sistemas Programa de Ingeniería Civil UdeA.
Grupo de Modelamiento de Sistemas Programa de Ingeniería Civil UdeA.
PROGRAMACIÓN Grupo de Modelamiento de Sistemas
Grupo de Modelamiento de Sistemas Programa de Ingeniería Civil UdeA.
INTRODUCCIÓN A LAS MATRICES CON MATLAB
ALGEBRA CON VECTORES Y MATRICES Uso de MatLab.
Arreglos Matlab Dr. Pope ITD. Arrays (Vectores y Matrices) En matemáticas es necesario trabajar variables con subíndices. Por ejemplo a 1, a 2, a 3,....,
MODELOS LINEALES ALGEBRA DE MATRICES Uso de MatLab.
Uso de MatLab. Introducción El entorno de trabajo de MatLab El Escritorio de Matlab (Matlab Desktop) El menú inicio Command Window Command History Browser.
Arreglos Scilab J. D. Pope S. ITD.
2012-BM5A. Unos tips antes de empezar: C# es Case Sensitive (sensible a mayúsculas) Pepe ≠ pepe ≠ pEpE Las asignaciones se hacen con “=” y las comparaciones.
ALGEBRA DE MATRICES Uso de MatLab.
MATLAB lenguaje interpretado: instrucciones se ejecutan (interpretan) de inmediato ejemplo: >>x = [1 2 3 ; 4 5 6] x = Tipo de dato fundamental:
Procesamiento de señales Introducción a Matlab 2014
REFERENCIA DE MATLAB 1/58.
Transcripción de la presentación:

MATrix LABoratory “MATLAB” TECNOLÓGICO DE MONTERREY CAMPUS SALTILLO Dr. Marco Iván Ramírez-Sosa Morán http://www.geocities.com/mirsm/matlabprint.ppt CURSO DE MATLAB ITESM SALTILLO 11/04/2017

MATrix LABoratory MATLAB PROGRAMACIÓN BÁSICA Y APLICACIONES CURSO DE MATLAB ITESM SALTILLO 11/04/2017

Contenido Desktop de Matlab Tipos de programación Command Window Workspace Command History Current Directory Tipos de programación Programación en el CW Asignación de valores Operaciones básicas con variables Formatos de presentación Iteraciones y bifurcaciones Vectores Gráficas 2D y 3D Polinomios Matrices Imágenes RGB, JPG Sistemas de ecuaciones Funciones de transferencia Matlab simbólico Programación de archivos *.m Del Command History Creación de Funciones Programación en Simulink Interacción Matlab-Simulink CURSO DE MATLAB ITESM SALTILLO 11/04/2017

Desktop de Matlab (Ventanas más importantes) Command Window: Donde se ejecutan las funciones y se realizan operaciones en forma de calculadora. Todo lo que se escribe en esta pantalla se graba en el Command History, y se pueden buscar operaciones anteriores con las flechas hacia arriba y abajo con la primera letra de la palabra a buscar). Se ponen comentarios con %. CURSO DE MATLAB ITESM SALTILLO 11/04/2017

Desktop de Matlab Workspace: Variables definidas (nombre, valor y tipo de dato) Se puede grabar, borrar y cargar variables guardadas. CURSO DE MATLAB ITESM SALTILLO 11/04/2017

Desktop de Matlab Otras ventanas Command History: Comandos y operaciones ejecutadas con anterioridad. La lista aparece separada por fechas automáticamente CURSO DE MATLAB ITESM SALTILLO 11/04/2017

Desktop de Matlab Otras ventanas Current Directory: Lugar donde se almacenarán archivos de datos, de programa y funciones creadas por usuario. (Se puede cambiar usando comandos de windows o usando los íconos en la misma ventana) CURSO DE MATLAB ITESM SALTILLO 11/04/2017

Tipos de Datos Complex Double-Precision Matrices Numeric Matrices Logical Matrices MATLAB Strings Cell Arrays Structures Objects Multidimensional Arrays Empty Arrays CURSO DE MATLAB ITESM SALTILLO 11/04/2017

TIPOS DE PROGRAMACIÓN 1. En el Command Window Se asignan valores a variables de diferentes tipos, constantes, vectores, matrices, arreglos de caracteres, etc. >>A=34 >>B=[1 2 3;4 5 6] >>i='hola‘ >>m=['A34';'A25'] >>v=[1 2 3 4] >>Q=[1;2;3;4] >>r=3.14 >>E=1.23333e4 >>u=j >>I=9+8*j CURSO DE MATLAB ITESM SALTILLO 11/04/2017

Programación en el Command Window … Se realizan operaciones con constantes ya definidas por default o por el usuario >>3*8 >>1/pi >>9-4 >>78*[3;5;2] >>78^2 >>1/eps >>[‘s’ ‘a’ ‘ltillo’] >>intmin >>realmax >>i/2 >>[2 3 4]+[8 9 10] CURSO DE MATLAB ITESM SALTILLO 11/04/2017

Programación en el Command Window … Se evalúan funciones con argumentos definidos y los resultados se pueden asignar a variables o manejar en la variable ans >>sin(30) >>floor(3.5) >>3*exp(-6) >>x_1=factorial(6) >>y=tan(4)/abs(9+3*i) >>ans/3 >>var_num_4=5+[3 0 -5] CURSO DE MATLAB ITESM SALTILLO 11/04/2017

Programación en el Command Window … Las asignaciones de variables se alamacenan en el Workspace y las de operaciones sin asignación se almacenan en la varible ans Funciones de windows y propias de matlab que se pueden ejecutar desde la ventana de comandos: dir cd delete close clear clc whos who what home which isvarname CURSO DE MATLAB ITESM SALTILLO 11/04/2017

Programación en el Command Window … Las variables almacenadas en el Workspace pueden ser grabadas en un archivo con el comando: >>save Nom_Arch Nom_Var (sólo graba una) >>save Nom_Arch (graba todas) CURSO DE MATLAB ITESM SALTILLO 11/04/2017

Programación en el Command Window … Las variables almacenadas en el Workspace pueden ser borradas con el comando: >>clear Nom_Var (sólo borra una) >>clear all (borra todas) CURSO DE MATLAB ITESM SALTILLO 11/04/2017

Programación en el Command Window … Las variables grabadas pueden recuperarse en cualquier momento con el comando: >>load Nom_Arch >> load C:\matlab71\work\Nom_Arch CURSO DE MATLAB ITESM SALTILLO 11/04/2017

Formatos de presentación FORMAT SHORT FORMAT LONG FORMAT SHORT E FORMAT LONG E FORMAT SHORT G FORMAT LONG G CURSO DE MATLAB ITESM SALTILLO 11/04/2017

Formatos de presentación … FORMAT SHORT ENG FORMAT LONG ENG FORMAT HEX FORMAT BANK FORMAT RAT FORMAT COMPACT FORMAT LOOSE CURSO DE MATLAB ITESM SALTILLO 11/04/2017

Iteraciones y bifurcaciones: For & While >> for i=inicio:paso:fin ... %operaciones a iterar end >> >>while (condición) CURSO DE MATLAB ITESM SALTILLO 11/04/2017

Iteraciones y bifurcaciones: if & elseif >>if (condición 1) ..... elseif (condición 2) …. else (no se cumplen 1 y 2) … end >> CURSO DE MATLAB ITESM SALTILLO 11/04/2017

Iteraciones y bifurcaciones: Switch & case >>switch switch_expresion case case_expresion, … case {case_expr1, case_expr2,...} otherwise …. end >> CURSO DE MATLAB ITESM SALTILLO 11/04/2017

Tipos de datos ARREGLOS Vectores (Arreglos unidimensionales) operaciones con vectores: normas, longitud, suma y producto, etc. >>v1=[1 2 3];%vector renglón >>v2=[1;2;3];%vector columna >>v3=3:.5:10;%vector con paso, inicio y fin >>v4=ones(1,4);%vector de unos >>v5=zeros(5,1);%vector de ceros CURSO DE MATLAB ITESM SALTILLO 11/04/2017

Vectores Elementos de un vector, asignación y presentación Nom_vector(#reng or #col) >>v1(2) >>v2(3) >>v3(4:end) >>v3(1:3)=[.1 .3 .5] >>v3(1:2:end) >>m=find(v3==7) >>v3(m) >>[M i]=max(v3) >>n=length(v4) >>v4(n) >>v0(10)=3 >>v0(1:9)=rand CURSO DE MATLAB ITESM SALTILLO 11/04/2017

Vectores … Operaciones con vectores: >>vt=v3’ %transpuesta de un vector >>d=norm(v3) %norma Euclideana >>v6=[1 2 3]/2+[5 6 7]-[4 0 2]*4+.5 >>v7=[3 5 6].*[1 -4 0] %prod Hadamard >>v8=[2 4 8].^2 %potencia de cada elemento >>v9=[v6 v8 v7] >>d1=norm(v9) >>s=sum(v9) >>d1=sqrt(sum(v9.^2)) CURSO DE MATLAB ITESM SALTILLO 11/04/2017

Gráficas con Vectores Graficar y1=sin(t)^2, t entre 0 y 10 seg >>plot(y1) >>plot(t,y1) >>plot(t,y1,’xr’) >>xlabel(‘tiempo s’),ylabel(‘voltaje v’) >>title(‘grafica de y_1 = (sin (t))^2’) CURSO DE MATLAB ITESM SALTILLO 11/04/2017

Gráficas con Vectores Cerrar y abrir figuras >>figure(1) >>close >>figure(2),figure(5) >>close all Empalmar figuras >>figure(1) >>y2=3*sin(0:.1:10);y3=sin(0:.1:10); >>plot(y2,’r*’);hold on;plot(y3,’om’); >> grid,axis([0 100 -4 4]),hold off CURSO DE MATLAB ITESM SALTILLO 11/04/2017

Gráficas con Vectores Gráficas 3D >>x=[-2:.1:2]; >>y=[-2:.1:2]; >>z1=sin(x).^2+cos(y).^2; >>z2=cos(x).^2+sin(y).^2; >>plot3(x,y,z1) >>hold on,plot3(x,y,z2) >>grid CURSO DE MATLAB ITESM SALTILLO 11/04/2017

Gráficas 3D Mallas de datos >> [xm ym]=meshgrid(x,y); >> z2=cos(xm).^2+sin(ym).^2; >> mesh(xm,ym,z2) >> figure,surf(xm,ym,z2) >> figure,meshc(xm,ym,z2) >> figure,meshz(xm,ym,z2) CURSO DE MATLAB ITESM SALTILLO 11/04/2017

Gráficas con Vectores Polígonos: >>x=[0 0 1 1 0];y=[0 1 1 0 0]; >>plot(x,y),axis([-3 4 -3 4]),hold on, plot(x,y,'or') Mover polígonos: >>x1=x+1.5;plot(x1,y),y1=y-1.5;plot(x1,y1) CURSO DE MATLAB ITESM SALTILLO 11/04/2017

Gráficas con Vectores Escalamiento y movimiento de polígonos: >>close all,clear all >> x=[0 0 1 1 0];y=[0 1 1 0 0]; >>for i=0:.1:5 x1=x*i+i;y1=y*i+i*i plot(x1,y1),hold on axis([-3 25 -3 25]) end >> CURSO DE MATLAB ITESM SALTILLO 11/04/2017

Rotación de vectores Rotación a la derecha >>vector=[1:10] >>vector=[vector(2:end) vector(1)] Rotación a la izquierda >>vector2=1:10 >>vector2=[vector2(end) vector2(1:end-1)] CURSO DE MATLAB ITESM SALTILLO 11/04/2017

Vectores como polinomios Polinomio p(x) = 7x^4+5x^2-4x+3 se representa en Matlab: >>p=[7 0 5 -4 3]; Raíces del polinomio: >>r=roots(p) Evaluación del polinomio: >>pval_1=polyval(p,-3) >>pval_2=polyval(p,r(1)) CURSO DE MATLAB ITESM SALTILLO 11/04/2017

Polinomios Producto de Polinomios >>p1=[1 0 1],p2=[1 -2 3] >>p3=conv(p1,p2) Creación de polinomios con base en sus raíces >>p4=poly([1 1 1]) >>p5=poly([-1 -1 2 0]) >>p6=conv(p4,p5) >>raices=roots(p6) >>[factor,res]=deconv(p6,p4) %factorización CURSO DE MATLAB ITESM SALTILLO 11/04/2017

Polinomios Fracciones de polinomios >>num=[1 2 3]; >>den=[1 -4 5 -7]; >>f=tf(num,den) Fracciones parciales >>[res, polos, kte]=residue(num,den) >>[num1, num2]=residue(res,polos,kte) CURSO DE MATLAB ITESM SALTILLO 11/04/2017

Polinomios Derivada de polinomios >>p = [1 0 -2 -5] >>q = polyder(p) CURSO DE MATLAB ITESM SALTILLO 11/04/2017

Curvas de mínimos cuadrados Valores de entrada x, salida y >>x = [1 2 3 4 5]; y=[5.5 43.1 128 290.7 498.4]; >>p=polyfit(x,y,1); %1 es el grado del polinomio >>x2 = 1:.1:5; >>y2 = polyval(p,x2); >>plot(x,y,'o',x2,y2) >>grid on CURSO DE MATLAB ITESM SALTILLO 11/04/2017

Matrices Arreglos n-dimensionales Definición matriz nxm (n=reng,m=col) >>M1=[1 2 3 4 5;0 9 8 -1 2] %n=2,m=5 >>M2=ones(3,4) >>M3=zeros(2,3) >>M4=eye(4) >>M5=rand(5,2) >>M=pascal(5) >>M=magic(5) CURSO DE MATLAB ITESM SALTILLO 11/04/2017

Tamaño, elementos y operaciones >>s=size(M1) >>n=s(1) >>m=s(2) >>M5(3,1) >>M6(3,5)=-1 >>M6(4,7)=pi >>M7=eye(size(M5)) >>M7+2*M5 >>M6(1,:) >>M6(:,1) >>M6(2,1:3) >>M6(4,1:2:7) CURSO DE MATLAB ITESM SALTILLO 11/04/2017

Potencias de matrices >>B=A^2 %B=A*A >>C=A.^2 %element wise >>R=sqrt(A) %element wise >>R.^2 %A= R.^2 >>Q=sqrtm(A) >>Q^2 %A=Q*Q >>exp(A) %element wise >>D=expm(A) %A=logm(D) CURSO DE MATLAB ITESM SALTILLO 11/04/2017

Matrices Producto punto >>v=[1 2 3] >>w=[4 6 8] >>M1=v*w’ %producto punto M1 n=1,m=1 Producto de vectores y matrices >>M2=v’*w %producto M2 n=3, m=3 >>M3=[1 0 2;0 1 -1];M4=[1 3;7 8;9 0]; >>M=M3*M4 % n=? m=? >>M=M4*M3 %???????? CURSO DE MATLAB ITESM SALTILLO 11/04/2017

Imágenes >>I=imread(‘c:/trayectoria/archivo.jpg’); >> imshow(I) >> R(:,:,1)=I(:,:,1);R(:,:,2:3)=0; >> figure,imshow(R) >> G(:,:,2)=I(:,:,2);G(:,:,1:2:3)=0; >> figure,imshow(G) >> B(:,:,3)=I(:,:,3);B(:,:,1:2)=0; >> figure,imshow(B) CURSO DE MATLAB ITESM SALTILLO 11/04/2017

Matrices Sistemas de ecuaciones x1= 3 a + 2 b x2 = - 4 a + 8 b Evaluación con valores a y b conocidos: >>a=-1;b=3; >>x=[3*a+2*b,-4*a+8*b] >>x=[3 2;-4 8]*[a;b] CURSO DE MATLAB ITESM SALTILLO 11/04/2017

Solución de sistemas de ecuaciones x1= 3 a + 2 b x2 = - 4 a + 8 b Dados x1 y x2 encontrar a y b: >>x=[4; -1]; >>M=[3 2;-4 8]; >>d=det(M) % d diferente de 0? >>sol=inv(M)*x;a=sol(1),b=sol(2) %existe? CURSO DE MATLAB ITESM SALTILLO 11/04/2017

Pseudoinversa Solución del sistema sobredeterminado: x1 = 3b + 4c Dados x1, x2, x3 encontrar b y c >>x=[-1 0 4]’ >>M=[3 4;-5 2;1 -3]; >>sol=pinv(M)*x >>sol=M\x >>xapp=M*sol >>norm(x-xapp) CURSO DE MATLAB ITESM SALTILLO 11/04/2017

Solución de sistemas de ecuaciones Solución con a y b desconocidos x1 = 3 a + 2 b x2 = - 6 a - 4 b Dados x1 y x2 encontrar a y b: >>x=[4 -1]’; >>M=[3 2;-6 -4]; %existe solución? >>x=[1 -2]’; >>solucion=???? %rank(M)==rank([M x]) inf CURSO DE MATLAB ITESM SALTILLO 11/04/2017

Eigenvalores, Eigenvectores y Factorización de matrices Polinomio característico de una matriz p(s) = det ( s I – A ) eigenvalores = {roots[p(s)]} >>A=rand(4,4); >>p=poly(A) >>r=roots(p) >>[V L]=eig(A) >>[K,J]=jordan(A) >>K*J*inv(K) >>[U S]=schur(A) >>U*A*U’ >>[U S V]=svd(A) >>U*S*V’ CURSO DE MATLAB ITESM SALTILLO 11/04/2017

SYMBOLIC >>sym a b k t s % def variables simbol >>a+a+b+b+b >>a*a*a >>x=laplace(sin(t)) >>y=ilaplace(1/s) CURSO DE MATLAB ITESM SALTILLO 11/04/2017

TIPOS DE PROGRAMACIÓN 2. Creación archivos *.m Archivos .m de listado de comandos y de funciones: Programas de ejecución de comandos, lectura y grabación de datos con inicio: close all, clear all, clc, sólo usa variables globales. Programación de una Función: fuction() Ejecución de una función desde un archivo *.m (usa variables locales y globales) CURSO DE MATLAB ITESM SALTILLO 11/04/2017

Archivos *.m Entrada y salida de datos de un archivo *.m c=input(‘Dame un dato numérico’); s=input(‘Dame un string’,’s’); disp([‘el dato numérico es ’ num2str(c)]) disp([‘el dato string es ’ s]) eval([s ‘_1=’ num2str(c)]) CURSO DE MATLAB ITESM SALTILLO 11/04/2017

EJERCICIO 1 Hacer un programa que grafique un paraboloide usando programación en el CW y en un archivo *.m CURSO DE MATLAB ITESM SALTILLO 11/04/2017

Creación de una función Definición dentro de un archivo *.m function [salida1,salida2,…] = nombre_funcion(arg1,arg2,…); … salida1=… salida2=… CURSO DE MATLAB ITESM SALTILLO 11/04/2017

EJERCICIOS 2 y 3 Hacer una función que rote cualquier arreglo n pasos. Hacer una función que calcule el factorial de cualquier número dado entre 180 y 250. CURSO DE MATLAB ITESM SALTILLO 11/04/2017

TIPOS DE PROGRAMACIÓN 3. SIMULINK Creación de funciones con diagramas de bloques, utilizando funciones de Matlab. Interacción entre funciones de Matlab y Simulink. Graficación usando señales obtenidas en Simulink. CURSO DE MATLAB ITESM SALTILLO 11/04/2017

Elementos de Simulink Fuentes y entradas Bloques Funciones Dispositivos de Monitoreo Comunicación con Matlab CURSO DE MATLAB ITESM SALTILLO 11/04/2017

Control Función de transferencia sist=tf(num,den) Polos y ceros roots(den), roots(num) Root-locus rlocus(num,den) step(num,den) impulse(num,den) bode(num,den) sisotool(sist) CURSO DE MATLAB ITESM SALTILLO 11/04/2017