MATLAB.

Slides:



Advertisements
Presentaciones similares
Una estructura de control permite controlar el flujo de la ejecución de instrucciones. Con estas estructuras, el programador puede determinar el orden.
Advertisements

Juan F. Velazquez Mayra E. Beltran Jaime Lopez
MEDIDAS DE TENDENCIA CENTRAL
Las Palabras Interrogativas
While Leonel Morales Díaz Ingeniería Simple Disponible en: Copyright 2008 by Leonel.
Subrutinas y Funciones Leonel Morales Díaz Ingeniería Simple Disponible en: Copyright.
Visual Basic for Applications 3 de Mayo de Archivo en Excel Son 600 nombres Separar las columnas Separar los nombres en varias columnas ¿Cómo hacerlo?
Sociedad, tecnología, educación. 1 Seleccionar una imagen y relacionarla con los tres téminos propuestos. Por qué la elegimos, que vemos en esta imagen,
Bucle while while (condición) { Cuerpo_del_bucle; } Mientras se cumpla la condición se ejecutan las instrucciones que conforman el cuerpo del bucle. Se.
Cuestiones y problemas
Cuestiones y problemas
EL LENGUAJE DE PROGRAMACIÓN C
MATEMÁTICAS 8° BÁSICO PROGRAMA EMPRENDER PREUNIVERSITARIO ALUMNOS UC
Introducción a JAVA COMP 250. Estructura de Selección selection statements selection statements – Escoger cuál acción ejecutar dependiendo de dos ó más.
MSQL OPERADORES BIT A BIT & a & b Operador de BIT AND. I a l b Operador de BIT OR. < < a >
E-Learning This game is strictly for fun. No money can be won.
Trabajo con subconsultas
Procedimientos para agrupar y resumir datos
ARQUITECTURA DE COMPUTADORES - PIPELINING
Uso de los corchetes ¿Qué hago si entre una columna y la siguiente no se visualiza todo el texto?
Lenguajes de Programación Soluciones a pruebas de nivel
INTEGRIDAD, INTEGRIDAD REFERENCIAL
Instrumentación Industrial
Entrada y salida Fundamentos de programación/Programación I
ERASMO AGUILAR SIG FARQ UNI
Visual basic Curso de Habilitación Laboral IV. ¿Qué es Visual Basic Visual Basic es uno de los tantos lenguajes de programación que podemos encontrar.
Avances de Microsoft PowerPoint y Office
A.E.D. Tema 0-2. Algorítmica Programa de teoría Parte I. Estructuras de Datos. 1. Abstracciones y especificaciones. 2. Conjuntos y diccionarios. 3. Representación.
SEMEJANZA APM.
Dibujo Geométrico Richard Nogales C.
Análisis transversal. Tablas de mortalidad
Las consultas. Son cuadros de información generados a partir de datos relacionados encontrados en otras tablas que se utilizan para filtrar, ver, modificar.
Introducción a Matlab Lectura 1.
Alumnas: María Sol Pérez Fernández & María Agustina Macchi Año : 1ºB Fecha de entrega:
Introducción/repaso a MATLAB
Defina una clase TempMinMaxEst que encapsule la representación de las temperaturas mínimas y máximas registradas en una estación meteorológica y brinde.
Después de completar esta Lección, será capaz de: Limitar las filas recuperadas por una consulta Ordenar las filas recuperadas por una consulta.
Srta. Forgue El 12 de enero de Ahora mismo Completa los ejercicios con la forma correcta del mandato según el sujeto en paréntesis. Caminar (Uds.)
FUNDAMENTOS DE MATLAB MATrix LABoratory.
ESTRUCTURAS DE CONTROL
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.
Seminario de Lenguajes A – Opción Ada Seminario de Lenguajes A – Opción Ada – Raúl Champredonde1 Overloading de subprogramas procedure Put(Item: in integer;
Seminario de Lenguajes A – Opción Ada Estructura general de programas –Especificación de contexto –Encabezado –Declaraciones –Cuerpo Seminario de Lenguajes.
Seminario de Lenguajes A – Opción Ada
Copyright 2005 Oki Electric Industry Co.,Ltd. c S OKI CONFIDENTIAL Configuración del sistema: Registrarse con IP Carrier & IP Trunk Carrier IP ADAM Telefonía.
Administración de Servidores de Bases de Datos Bases de Datos de Usuarios Caso particular Adaptive Server Enterprise.
¿Quién la hizo? Tienes que adivinar quién hizo cada obra de arte, basado en los apuntes que tomaste y las obras que vimos de los artistas.
Trabajo Práctico II Brenda Chung. Ingresar un número cualquiera e informar si es positivo, negativo o nulo. 1.
Preguntas de conversación Capítulo 2 Exprésate I.
Repaso (parte 2) Español 2. Como escribir una pregunta…  Adónde (to where)  Cómo (how)  Cuál/Cuáles (which ones)  Cuándo (when)  Cuánto (how much)
Quantity How much? How many?
Introducción Program Slicing Pattern Matching Problema: Pérdida de precisión Solución Conclusiones Peculiaridades de Erlang Erlang Dependence Graph.
Estructuras de Datos y Algoritmos TDA LISTA. Metáfora del TDA (repaso) Conjunto de operaciones forman una pared forman una interfase entre los programas.
Docente. Christian Alexander Martínez Arteaga
Programación en Matlab
Instrucciones if/else y while
OPERACIONES ALGEBRAICAS índice Términos algebraicos Términos algebraicos ¿Qué es un monomio? ¿Qué es un monomio? ¿Qué es un polinomio? ¿Qué es un polinomio?
Introducción/repaso a MATLAB Procesamiento de Señales 1 Germán Montoya, Universidad Pontificia Bolivariana Medellín,
Applications Development I 6.1 Foro Tomas Anzalotta Alvarado.
Operadores Java es un lenguaje rico en operadores, que son casi idénticos a los de C/C++.
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:
MATLAB 6.5 Clase 3: Funciones básicas e Introducción a la Programación
Funciones Sintaxis:. Sin el = inicial la función pasa por texto y no efectúa la operación indicada.
La rama de la matemática que tiene el propósito del desarrollo de métodos, para solucionar los problemas más diversos mediante una cantidad finita de operaciones.
Curso de iniciación al trabajo con MatLab 7.0
Curso de iniciación al trabajo con MatLab 7.0
Procesamiento de señales Introducción a Matlab 2014
Transcripción de la presentación:

MATLAB

Introducción al MATLAB MATLAB = MATrix LABoratory Es un entorno de computación que presenta facilidades para cálculo matemático y visualización gráfica Dispone de toolboxes especializados: Control Systems, Neural Netword, Optimization, etc.

Pruebe los siguientes comandos: En la Ventana de Comandos “Command Windows” se puede trabajar de manera interactiva. Pruebe los siguientes comandos: clock fix(clock) k = 2^10 x = rand X = fix(rand * 10) r = 2 ; sup = pi * r ^ 2 workspace

Pruebe los siguientes comandos: En la Ventana de Comandos “Command Windows” se puede trabajar de manera interactiva. Pruebe los siguientes comandos: clock Devuelve fecha y hora del sistema fix(clock) Fecha y hora del sistema con enteros k = 2^10 2 elevado a la 10 x = rand un número aleatorio 0 <= x < 1 X = fix(rand * 10) número entero aleatorio 0 <= X < 10 r = 2 ; sup = pi * r ^ 2 Calcula la superficie de un círculo de radio 2 workspace abre la ventana workspace dónde pueden inspeccionarse las variables actualmente definidas

Pruebe los siguientes comandos: Debe observarse que: Las variables se crean automáticamente cuando se necesitan (no se declaran) Matlab hace distinción entre mayúsculas y minúsculas (x y X son dos variables distintas) Matlab tiene definida algunas constantes (pi, eps, i) La variable ans guarda la respuesta más reciente el punto y coma (;) separa comandos consecutivos. Pruebe los siguientes comandos: save nombre_archivo clear sup clear all load nombre_archivo

Pruebe los siguientes comandos: Debe observarse que: Las variables se crean automáticamente cuando se necesitan (no se declaran) Matlab hace distinción entre mayúsculas y minúsculas (x y X son dos variables distintas) Matlab tiene definida algunas constantes (pi, eps, i) La variable ans guarda la respuesta más reciente el punto y coma (;) separa comandos consecutivos. Pruebe los siguientes comandos: save nombre_archivo Guarda el Workspace clear sup Borra del Workspace la variable sup clear all Borra todas las variables del Workspace load nombre_archivo Carga el Workspace previamente guardado en el archivo nombre_archivo

Nombres de variables : Se debe tener cuidado con los nombres de las variables que se utilizan Probar lo siguiente: sin = 5 y = sin(pi) la variable sin oculta la función del mismo nombre. En este caso será útil el comando clear

Operaciones con Matrices y vectores: Para definir matrices se utiliza: [ ] constructor , separador de columnas ; separador de filas En lugar de coma (,) puede utilizarse un espacio, y en lugar de punto y coma (;) puede utilizarse un retorno de carro Ejemplo: A=[1,2,3; 4,5,6] o simplemente: A=[1 2 3 4 5 6]

Operaciones con Matrices y vectores: Pruebe los siguientes comandos A = [ 1 , 2 , 3 ; 4 , 5 , 6 ] B = A' C = A * B D = B * A v = [ 1 , 2 , 3 , 4 ] w = [ 5 ; 6 ; 7 ; 8 ] x = v * w Y = w * v M=[1:10 ; 11:20 ; 21:30] V=[1:0.3:10]

Operaciones con Matrices y vectores: Pruebe los siguientes comandos A = [ 1 , 2 , 3 ; 4 , 5 , 6 ] Define la matriz A de 2x3 B = A' Define B como la matriz transpuesta de A C = A * B C es la multiplicación de matrices A * B D = B * A D es la multiplicación de matrices B * A v = [ 1 , 2 , 3 , 4 ] Define el vector fila v w = [ 5 ; 6 ; 7 ; 8 ] Define el vector columna w x = v * w x es la multiplicación de matrices v * w Y = w * v Y es la multiplicación de matrices w * v M=[1:10 ; 11:20 ; 21:30] matriz de 3x10 con elementos del 1 al 30 V=[1:0.3:10] vector con elementos del 1 al 10 cuyas componentes se forman sumando 0.3 a la anterior

Resolviendo sistemas de ecuaciones lineales 1.2 x1 + 2.2 x2 = 21.4 7.1 x1 + 0.5 x2 = 39 A = [1.2 , 2.2 ; 7.1 , 0.5 ] R = [ 21.4 ; 39 ] X = inv(A) * R

Funciones que devuelven matrices eye(4) Forma la matriz unidad de 4x4 zeros(3,5) Forma una matriz de ceros de 3x5 ones(3) Forma una matriz de unos de 3x3 ones(2,4) Idem de tamano 2x4 rand(3) forma una matriz de 3x3 de números aleatorios entre 0 y 1, con distribución uniforme rand(4,2) Idem de tamano 4x2 Probar los siguientes comandos: A= magic(3) v=[1:10] size(A) size(v) length(A) length(v) sum(A) sum(v)

1) Obtener el producto interior a . b Ejercicios: 1) Obtener el producto interior a . b a=[1,2,3,4] b=[5,6,7,8] 2) Verificar si efectivamente magic(4) es un cuadro mágico comprobando que las filas, columnas y diagonales principales sumen exactamente el mismo valor (utilizar funciones diag y rot90)

1) Obtener el producto interior a . b Ejercicios: 1) Obtener el producto interior a . b a=[1,2,3,4] b=[5,6,7,8] Rta: a*b' 2) Verificar si efectivamente magic(4) es un cuadro mágico comprobando que las filas, columnas y diagonales principales sumen exactamente el mismo valor (utilizar funciones diag y rot90) Rta: hay que realizar las siguientes operaciones: A=magic(4) sum(A) se obtienen las sumas de las columnas sum(A') se obtienen las sumas de las filas sum(diag(A)) se obtiene la suma de la diagonal principal sum(diag(rot90(A))) se obtiene la suma de la otra diagonal

Creando matrices con submatrices Se puede crear una nueva matriz componiendo como submatrices, matrices definidas previamente. A modo de ejemplo ejecútense las siguientes instrucciones: >> A=zeros(2); >> B=ones(2,3); >> C=[A,B;[1:5]] C = 0 0 1 1 1 1 2 3 4 5

Operadores .* ./ .^ En MATLAB se puede aplicar elemento a elemento los operadores (* / ^) Para ello se los precede por un punto(.) » [1 2 3 4]^2 ??? Error using ==> ^ Matrix must be square. » [1 2 3 4].^2 ans = 1 4 9 16 » [1 2 3 4]*[1 -1 1 -1] ??? Error using ==> * Inner matrix dimensions must agree. » [1 2 3 4].*[1 -1 1 -1] 1 -2 3 -4

Graficando una función Se desea graficar la función f(x)=x.sin(x) en el intervalo [-10,10] >> x = [-10 : 0.1 : 10]; >> y = sin(x) .* x; >> plot(x,y); Nota: Observe que se ha utilizado el operador (.*)

Operadores relacionales < menor que > mayor que <= menor o igual que >= mayor o igual que == igual que ~= distinto que Si una comparación se cumple el resultado es 1 (true), mientras que si no se cumple es 0 (false). Operadores lógicos & and | or ~ negación lógica

Cuando los operadores relacionales se aplican a matrices del mismo tamaño, la comparación se realiza elemento a elemento >> A=[1,2;3,4]; >> B=[4,3;3,2]; >> A==B ans = 0 0 1 0 >> A~=B 1 1 0 1

Si se compara una matriz con un escalar, La comparación se realiza entre el escalar y cada elemento de la matriz. >> A=[1,2,2;2,3,3;4,4,2]; >> A==2 ans = 0 1 1 1 0 0 0 0 1

Ejercicios 1) Escribir una expresión que compute la cantidad de numeros 3 que posee una matriz A. 2) Escriba una expresión que devuelva el valor máximo de cada fila de una matriz A (función max). 3)Escriba una expresión que devuelva true (1) si todos los elementos de una matriz son iguales.

Ejercicios 1) Escribir una expresión que compute la cantidad de numeros 3 que posee una matriz A. sum(sum(A==3)) 2) Escriba una expresión que devuelva el valor máximo de cada fila de una matriz A (función max). max(A')' 3)Escriba una expresión que devuelva true (1) si todos los elementos de una matriz A son iguales. max(max(A))==min(min(A))

Acceso a los elementos de una matriz Los elementos de las matrices se acceden por sus dos índices. Por ejemplo A(1,2) ó A(i,j). Sin embargo las matrices se almacenan por columnas y teniendo en cuenta esto puede accederse a cualquier elemento con un sólo subíndice. Por ejemplo >> A=[1,2,3;4,5,6;7,8,9]; >> A(4) ans = 2 Probar qué devuelve A(:) Rta: el vector columna formado por la concatenación de las columnas de A

Operador (:) como índice >> A=magic(4) A = 16 2 3 13 5 11 10 8 9 7 6 12 4 14 15 1

Operador (:) como índice >> A=magic(4) A = 16 2 3 13 5 11 10 8 9 7 6 12 4 14 15 1 >> A(2:3,2:4) ans = 11 10 8 7 6 12

Operador (:) como índice >> A=magic(4) A = 16 2 3 13 5 11 10 8 9 7 6 12 4 14 15 1 >> A(2,:) ans =

Operador (:) como índice >> A=magic(4) A = 16 2 3 13 5 11 10 8 9 7 6 12 4 14 15 1 >> A(:,1) ans = 16 5 9 4

Operador (:) como índice >> A=magic(4) A = 16 2 3 13 5 11 10 8 9 7 6 12 4 14 15 1 >> A(4:-1:1,:) 9 7 6 12

Operador (:) como índice >> A=magic(4) A = 16 2 3 13 5 11 10 8 9 7 6 12 4 14 15 1 >> A([1,3],:) 9 7 6 12 Obsérvese que también puede utilizarse un vector como índice. En este caso sirve para poder seleccionar filas disjuntas

Ejercicios 1) Construir una matriz A de 2x6 formada por la segunda y tercera fila de magic(6) 2) Eliminar la columna 3 3) Obtener el vector suma por columna y agregarlo como última fila de A 4) Obtener el vector suma por fila y agregarlo como última columna de A

Ejercicios 1) Construir una matriz A de 2x6 formada por la segunda y tercera fila de magic(6) A=magic(6); A=A(2:3,:) 2) Eliminar la columna 3 A=A(:,[1,2,4:6]) 3) Obtener el vector suma por columna y agregarlo como última fila de A A=[A;sum(A)] 4) Obtener el vector suma por fila y agregarlo como última columna de A A=[A,sum(A')']

Programación en MATLAB SENTENCIA IF if condicion1 bloque1 elseif condicion2 bloque2 elseif condicion3 bloque3 else bloque4 end

Programación en MATLAB SENTENCIA IF Ejemplo: if x==0 disp('x es igual a cero') elseif x > 0 disp('x es mayor que cero') else disp('x es menor que cero') end

Programación en MATLAB SENTENCIA FOR for i=limiteInf:step:limiteSup sentencias end o bien, for i=vectorValores

Programación en MATLAB SENTENCIA FOR Ejemplo: for i = 0:2:10 disp(2^i) end

Programación en MATLAB SENTENCIA WHILE while condicion sentencias end

Programación en MATLAB SENTENCIA WHILE Ejemplo r=input('Ingrese el radio o cero para terminar '); while r > 0 sup=pi*r^2; fprintf('Superficie = %.2f\n',sup) end

Programación en MATLAB SENTENCIA BREAK Hace termina la ejecución del bucle más interno Ejemplo while 1 r=input('Ingrese el radio o cero para terminar '); if r <= 0; break; end; sup=pi*r^2; fprintf('Superficie = %.2f\n',sup) end

Archivos de extensión .m Son archivos de textos que se utilizan para definir funciones y scripts. Puede utilizarse cualquier editor de texto, pero MATLAB posee uno especializado con facilidades para depuración. Pueden invocarse desde la ventana de comandos o desde otros scripts o funciones. Estarán accesibles aquellos scripts y funciones de los directorios agregados en el path de MATLAB y los del directorio corriente. Probar los siguientes comandos dir, ls, pwd, cd , edit

Crear el script prueba.m Definición de Scripts Los scripts son archivos que contienen una sucesión de comandos análoga a la que se teclearía en la ventana de comandos. Las variables definidas en los scripts son globales y permanecen en memoria al terminar la ejecución del script Crear el script prueba.m x=[-pi:0.1:pi]; y1=sin(x); y2=cos(x); plot(x,y1,x,y2); Desde la ventana de comandos tipear prueba <ENTER> Verificar el workspace

Definición de funciones La primera línea de un archivo llamado name.m que define una función tiene la forma: function [lista arg. salida] = name(lista arg.entrada) name es el nombre de la función. Si hay un único argumento de salida pueden omitirse los corchetes Las variables que se utilicen son locales, no permanecen en el workspace una vez finalizada la función. Ejemplo function resultado = factorial(n) resultado=1 for i = 1:n resultado=resultado * i end

Ejercicios 1) Programe la función dibujarSeno(a,b) que dibuja la gráfica del seno en el intervalo [a,b]. 2) Escriba la función para la resolución de ecuaciones de segundo grado ax2 + bx + c = 0 implementando la fórumla