Optimización para Ingenieros

Slides:



Advertisements
Presentaciones similares
UNIVERSIDAD NACIONAL DE INGENIERÍA UNI- NORTE
Advertisements

PROF. ING. JULIO CESAR CANO RAMIREZ
Clase 2 Tipos de datos Asignación de valores Estructura IF Ejercicios
Sistemas de Control en Tiempo Discreto
Fundamentos de la Programación Estructurada
Técnico en programación de Software
DIAGRAMAS DE FLUJO Y PSEUDOCÓDIGO
Unidad académica: Ingenierías
FUNDAMENTOS DE MATLAB MATrix LABoratory.
Representación en espacio de estado
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
Estructuras de control
METODOLOGIA DE LA PROGRAMACION
Al término de la clase, el alumno reconoce las ventajas de usar JAVASCRIPT para un proyecto web.
Ingeniero Anyelo Quintero
Prof. Esteban Hernández
Fundamentos de Programación
Tema 1 Algoritmos.
Manejo básico de la calculadora Casio Algebra FX 2.0 Plus
Licenciatura en Ciencias de la Computación Álgebra I Clase 1
Programación en Matlab
CARACTERÍSTICAS DE LOS PROGRAMAS
COMPUTACIÓN APLICADA FACULTAD DE INGENIERÍA, UAQ Tablas Dinámicas, Macros Ma. Teresa García Ramírez.
ANALISIS MATEMÁTICO PARA ECONOMISTAS IV
MACROS Para automatizar tareas repetitivas, puede grabar rápidamente una macro (macro: acción o conjunto de acciones utilizados para automatizar tareas).
Ana Gpe. Del Castillo Bojórquez Universidad de Sonora
Algoritmos ¿Que es un algoritmo?
Diseño de algoritmos La computadora puede realizar procesos y darnos resultados, sin que tengamos la noción exacta de las operaciones que realiza. Con.
Material de apoyo Unidad 4 Estructura de datos
Entorno. Indica el directorio en el que se trabaja y los archivos que posee. WORKSPACE: espacio de trabajo.
Juego de Preguntas y Respuestas
Teoría – Alejandro Gonzalez
UNIDAD 2. ALGORITMOS Y ESTRUCTURAS DE DATOS.
¿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 Conceptos generales
Unidad II Introducción a la programación en C++
Estructuras de Control.
Introducción a la Ingeniería de Sistemas
Operaciones con números complejos
Programación Básica con “NQC” Pedro F. Toledo – Patricio Castillo 13/05/2006.
Matrices – Determinantes Sistemas de Ecuaciones lineales
Matrices Departamento de Computación Escuela de Ingeniería de Sistemas
Unidad 1: FUNDAMENTOS DE COMPUTACIÓN Y PSEUDOLENGUAJE
Elementos básicos del lenguaje
Matrices – Determinantes Sistemas de Ecuaciones lineales
Objetivo Mostrar los fundamentos de la programación a través de ejemplos y prácticas utilizadas cotidianamente en el desarrollo de aplicaciones.
Términos algoritmo diseñar algoritmo implementar algoritmo
ELEMENTOS DE COMPUTACIÓN Profesor: Guillermo Figueroa
Introducción a Excel Fórmulas
PRINCIPIOS DE PROGRAMACIÓN
2008 Escuela de Informática y Telecomunicaciones, DuocUC Escuela de Informática y Telecomunicaciones Clase 9: Funciones, variables y arreglos en BASH Nombre.
Presente un cuestionario con los aspectos mas importantes sobre los
Universidad Nacional Experimental de Guayana
Práctica Profesional PHP.
Lic. Carla Aguirre Montalvo
* Cuando nos permite desarrollar un programa que necesitamos para tomar un conjunto de buenas prácticas para hacer eso. Esto se debe a que podemos ahorrar.
MATRICES.
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.
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.
Tema 8: Programación estructurada Introducción La importancia del conocimiento de programación es mucho mayor de lo que se piensa. Aprender a programar.
La programación modular es un paradigma de programación que consiste en dividir un programa en módulos o subprogramas con el fin de hacerlo más legible.
ESTRUCTURAS SELECTIVAS Elaborado por; Ing. Alberto Pérez.
Omar Herrera Caamal Rigoberto Lizárraga Luis Cetina Luna.
Transcripción de la presentación:

Optimización para Ingenieros La Universidad del Zulia Facultad de Ingeniería División de Estudios para Graduados Programa: Computación Aplicada Asignatura: Optimización para Ingenieros Repaso de algebra matricial usando Matlab Prof. Luis Zerpa, M.Sc. Email: lzerpa@ica.luz.ve

Introducción a MATLAB MATLAB (LABoratorio de MATrices) es un sistema interactivo que utiliza matrices como elemento básico de datos Permite resolver muchos problemas numéricos sin necesidad de construir programas complejos Proporciona una serie de comandos que permiten escribir instrucciones en el lenguaje matemático corriente Permite visualizar los resultados mediante sencillas y poderosas herramientas de graficación

Introducción a MATLAB Ventana de comandos: es la ventana principal en la cual el usuario se comunica con el interpretador MATLAB

Introducción a MATLAB Espacio de trabajo (Workspace): Es el conjunto de variables que se mantienen en la memoria del computador durante una sesión de MATLAB Se pueden utilizar los comandos who y whos para ver contenido y descripción de las variables almacenadas en el espacio de trabajo Para eliminar las variables almacenadas en el espacio de trabajo se utiliza el comando clear all

Introducción a MATLAB Símbolos: Todos los caracteres alfabéticos y numéricos y el símbolo de subrayado “_” son válidos para formar nombres (de constantes, variables, archivos, etc), los cuales pueden tener cualquier número de caracteres El sistema es sensible a minúsculas y mayúsculas, siendo obligatorio escribir los comandos en minúsculas. Los nombres pueden ser escritos en cualquier tipo de letra a discreción del usuario

Introducción a MATLAB Línea de comandos: Es un conjunto de códigos MATLAB, separados por coma (,) o punto y coma (;) que se ejecutan secuencialmente según aparecen en la línea una vez que se pulsa la tecla ENTER Ejemplo >> X = 1 + 1, Y = 2 * 2; Z = sin(pi/2) X = 2 Z = 1 Una línea de comandos puede ser editada y modificada usando las teclas de desplazamiento ← ↑ → ↓

Introducción a MATLAB Caracteres especiales: A algunos símbolos se ha asignado una función particular para facilitar la escritura de instrucciones, los de uso más común son los siguientes: [ ] - definir input de vectores y matrices ( ) - asignar precedencia en operaciones aritméticas - referir elementos de matrices - pasar argumentos a funciones o subprogramas = - asignar valores ‘ - indica transposición de matrices ; - dentro de [ ] para separar líneas - separar comandos - suprimir impresión % - indica comentario, el texto que le sigue es ignorado : - para indicar iteraciones o generar vectores en secuencias

Operadores aritméticos Introducción a MATLAB Operadores: Ya que MATLAB está diseñado para trabajar con matrices, todos los operadores realizan operaciones con matrices, de modo que un escalar puede verse como una matriz 1 x 1 y un vector como una matriz de 1 x n ó de n x 1 según sea el caso Operadores aritméticos + - Suma, A + B suma los elementos de A a los correspondientes de B. A y B deben tener el mismo tamaño. Un escalar se le puede sumar a una matriz de cualquier tamaño - - Resta, A – B resta los elementos de A a los correspondientes de B. A y B deben tener el mismo tamaño. Un escalar se le puede restar a una matriz de cualquier tamaño * Multiplicación de matrices, C = A * B es el producto algebraico lineal de las matrices A y B. Para matrices, el número de columnas de A debe ser igual al número de filas de B. Un escalar se puede multiplicar a una matriz de cualquier tamaño

Operadores aritméticos Introducción a MATLAB Operadores aritméticos / - B/A es lo mismo que B * A-1 ; A-1 es la matriz inversa de A, y debe ser n x n \ - A\B, se conoce como división por la izquierda, si A es cuadrada, A\B es casi igual inv(A)*B, excepto por la forma de ser calculado. - Si B es un vector columna de n elementos y A es n x n, entonces X = A\B es la solución al sistema AX = B por el método de eliminación de Gauss ^ - Potencia de matrices. X^p es X elevado a la potencia de p, si p es un escalar. - Si p es un entero, la potencia se calcular elevando al cuadrado repetidas veces. Si el entero es negativo, se calcula primero la inversa de X - Si X y p son matrices, MATLAB arroja un error ' - A' es la transpuesta de A

Operadores aritméticos de Arreglos de datos Introducción a MATLAB Operadores aritméticos de Arreglos de datos .* - A .* B, es la multiplicación elemento por elemento de los arreglos A y B, los cuales deben tener el mismo tamaño ./ - A ./ B, es la matriz con elementos A(i,j) / B(i,j). A y B deben tener el mismo tamaño, al menos que uno sea un escalar .\ - A .\ B, es la matriz con elementos B(i,j) / A(i,j). A y B deben tener el mismo tamaño, al menos que uno sea un escalar .^ - A .^B, es la matriz con elementos A(i,j) elevados a la potencia de B(i,j). A y B deben tener el mismo tamaño, al menos que uno sea un escalar

Notación matricial La mayor potencialidad de MATLAB es su capacidad para manejar matrices y vectores mediante un sistema de indexación flexible, que permite realizar numerosas operaciones con comandos sencillos que no requieren procedimientos iterativos MATLAB trabaja fundamentalmente con un solo tipo de elemento base: matrices Los escalares son matrices de un elemento por un elemento y los vectores son matrices de una fila o de una columna Ejemplos: 1. Generar un vector cuyos elementos son los número del 1 al 8 >> v = [1:8] v = 1 2 3 4 5 6 7 8

Notación matricial 1. Generar un vector cuyos elementos son los número del 1 al 8 >> v = [1:8] v = 1 2 3 4 5 6 7 8 2. Crear un vector con una parte de v >> u = v(3:6) u = 3 4 5 6 3. Construir otro vector con elementos de u y v >> w = [v(3:5) u(2:4)] w = 3 4 5 4 5 6

Notación matricial 4. Producto escalar de vectores de tres elementos >> u(1:3)*v(1:3)' ans = 26 5. Producto vectorial de vectores de tres elementos >> m = u(1:3)'*v(1:3) 3 6 9 4 8 12 5 10 15 6. Extraer la 2da columna de la matriz anterior >> c2 = m(:,2) c2 = 6 8 10

Notación matricial 7. Multiplicación elemento por elemento de dos matrices >> X = [1 0 1; 2 1 2; 3 2 3], Y = [3 2 1; 4 1 1;5 2 1] X = 1 0 1 2 1 2 3 2 3 Y = 3 2 1 4 1 1 5 2 1 >> X.*Y ans = 3 0 1 8 1 2 15 4 3

Operadores relacionales Símbolos relacionales para desigualdades < menor que > mayor que <= menor o igual que >= mayor o igual que == igual a ~= diferente a

Operaciones con matrices Transpuesta de una matriz >> X X = 15 5 1 2 6 2 3 2 7 >> X' ans = 15 2 3 5 6 2 1 2 7 Matriz inversa >> inv(X) ans = 0.0736 -0.0640 0.0078 -0.0155 0.1977 -0.0543 -0.0271 -0.0291 0.1550 Determinante >> det(X) 516

Operaciones con matrices Rango >> rank(X) ans = 3 Norma >> norm(X) 16.9936 Matriz identidad >> eye(3) 1 0 0 0 1 0 0 0 1 Valores propios >> eig(X) ans = 16.6456 6.7869 4.5675 >> [V,D] = eig(X) V = -0.9135 -0.4420 0.4022 -0.2341 0.5912 -0.8856 -0.3327 0.6746 0.2321 D = 16.6456 0 0 0 6.7869 0 0 0 4.5675

Gráficos Una de las facilidades más importantes que ofrece MATLAB es la capacidad de realizar gráficas fácilmente MATLAB gráfica directamente la salida en una ventana separada de la ventana de comando llamada ventana de figura Las funciones gráficas automáticamente crean una nueva ventana de figura si no existe ninguna. Si existe una ventana de figura, MATLAB usa esta ventana

Gráficos Comando plot >> hold on >> plot(5,100,'*r') >> x = [1:10] x = 1 2 3 4 5 6 7 8 9 10 >> y = 4 - x + 2.5*x.^2 y = Columns 1 through 6 5.5000 12.0000 23.5000 40.0000 61.5000 88.0000 Columns 7 through 10 119.5000 156.0000 197.5000 244.0000 >> plot(x, y, '-ob') >> hold on >> plot(5,100,'*r')

Gráficos Comando contour, para funciones de dos variables >> [x, y] = meshgrid(-5:0.1:5); >> f = -1./(1 + 2*(x - 1.5).^2 + (y… + 1).^2) - 0.6./(1 + (x + 1).^2… + (y - 1.5).^2); >> contour(x,y,f,50) >> colorbar >> title('Curvas de nivel de la función f') >> xlabel('x') >> ylabel('y')) >> hold on >> plot([-3 -1],[3 1],'o-')

Gráficos Comando surf, para funciones de dos variables >> [x, y] = meshgrid(-5:0.1:5); >> f = -1./(1 + 2*(x - 1.5).^2 + (y… + 1).^2) - 0.6./(1 + (x + 1).^2… + (y - 1.5).^2); >> surf(x,y,f) >> colorbar >> title('Grafica 3D de la función f')

Programas Es posible combinar un lote de instrucciones que ejecuten una serie de cálculos y comparaciones para llegar a un resultado; un programa MATLAB permite guardar estos programas en archivos con extensión “.m” Estos archivos se ejecutan simplemente invocando su nombre sin la extensión, y pueden ser llamados desde otros programas a manera de rutinas o subprogramas Los archivos .m se puede crear usando un editor de texto cualquiera. MATLAB trae su propio editor de texto

Funciones (Functions) Programas Tipos de archivos .m Escritos (Scripts) Funciones (Functions) No aceptan argumentos de entrada ni retornan argumentos de salida Pueden aceptar argumentos de entrada y retornan argumentos de salida Operan con datos existentes en el espacio de trabajo Operan con variables internas (locales) Usados principalmente para automatizar una serie de pasos que desean desarrollar en cualquier momento Usados principalmente para crear aplicaciones

function […] = NombreDeLaFuncion(…) Programas Para declarar un archivo .m como una función es necesario escribir en la primera línea ejecutable el nombre de la función (debe ser igual al nombre del archivo), los argumentos de entrada y los argumentos de salida, según la siguiente estructura: function […] = NombreDeLaFuncion(…) Argumentos de salida Argumentos de entrada

Programas Comandos útiles para iniciarse en la programa en MATLAB: pause Detiene la ejecución del programa hasta que una tecla activa sea presionada input Recibe datos por el teclado en tiempo de ejecución fprintf Permite que el programa escriba información en la pantalla (datos, resultados, mensajes)

Programas if,else, end Estor tres comandos permiten tomar decisiones y tomar caminos alternativos durante la ejecución del programa dependiendo del cumplimiento de una condición if condición instrucciones else end for, end Estas instrucciones permiten construir ciclos o lazos con un número de iteraciones previamente establecido for i = 1:10

Programas while, end Estas instrucciones permiten hacer ciclos que se repiten indefinidamente hasta que alguna condición impuesta deja de cumplirse while condición instrucciones end

Matemática simbólica en MATLAB MATLAB cuenta con un toolbox de matemática simbólica, que permite realizar operaciones de cálculo sin el uso de valores numéricos Cálculo Diferenciación, integración, limites, sumatorias, series de Taylor Algebra lineal Inversas, determinantes, autovalores, formas canónicas de matrices simbólicas Simplificación Métodos de simplificación de expresiones matemáticas Solución de ecuaciones Soluciones simbólicas y numéricas a ecuaciones algebraicas y diferenciales Transformadas Fourier, Laplace, z-transform, y las correspondientes transformadas inversas

Matemática simbólica en MATLAB Primero es necesario declarar las variables simbólicas >> syms x y Luego se puede realizar operaciones y construir las funciones, por ejemplo >> f = x^2 + 3.4*y -20 Derivada de f con respecto a x >> diff(f,x) ans = 2*x Integral de f entre 0 y pi >> int(f,0,pi) 1/3*pi^3+17/5*y*pi-20*pi