+ All Categories
Home > Documents > 2 Optimizacion Para Ingenieros - Matlab

2 Optimizacion Para Ingenieros - Matlab

Date post: 09-Mar-2016
Category:
Upload: virginia-solorzano
View: 223 times
Download: 0 times
Share this document with a friend
Description:
presentacion

of 26

Transcript
  • La Universidad del ZuliaFacultad de IngenieraDivisin de Estudios para GraduadosPrograma: Computacin AplicadaAsignatura:Optimizacin para IngenierosProf. Luis Zerpa, M.Sc.Email: [email protected] de algebra matricial usando Matlab

  • Introduccin a MATLABMATLAB (LABoratorio de MATrices) es un sistema interactivo que utiliza matrices como elemento bsico de datosPermite resolver muchos problemas numricos sin necesidad de construir programas complejosProporciona una serie de comandos que permiten escribir instrucciones en el lenguaje matemtico corrientePermite visualizar los resultados mediante sencillas y poderosas herramientas de graficacin

  • Introduccin a MATLABVentana de comandos: es la ventana principal en la cual el usuario se comunica con el interpretador MATLAB

  • Introduccin a MATLABEspacio de trabajo (Workspace): Es el conjunto de variables que se mantienen en la memoria del computador durante una sesin de MATLABSe pueden utilizar los comandos who y whos para ver contenido y descripcin de las variables almacenadas en el espacio de trabajoPara eliminar las variables almacenadas en el espacio de trabajo se utiliza el comando clear all

  • Introduccin a MATLABSmbolos: Todos los caracteres alfabticos y numricos y el smbolo de subrayado _ son vlidos para formar nombres (de constantes, variables, archivos, etc), los cuales pueden tener cualquier nmero de caracteres

    El sistema es sensible a minsculas y maysculas, siendo obligatorio escribir los comandos en minsculas. Los nombres pueden ser escritos en cualquier tipo de letra a discrecin del usuario

  • Introduccin a MATLABLnea de comandos: Es un conjunto de cdigos MATLAB, separados por coma (,) o punto y coma (;) que se ejecutan secuencialmente segn aparecen en la lnea una vez que se pulsa la tecla ENTEREjemplo>> X = 1 + 1, Y = 2 * 2; Z = sin(pi/2)X = 2Z = 1

    Una lnea de comandos puede ser editada y modificada usando las teclas de desplazamiento

  • Introduccin a MATLABCaracteres especiales: A algunos smbolos se ha asignado una funcin particular para facilitar la escritura de instrucciones, los de uso ms comn son los siguientes:

    [ ]- definir input de vectores y matrices( )- asignar precedencia en operaciones aritmticas - referir elementos de matrices - pasar argumentos a funciones o subprogramas=- asignar valores- indica transposicin de matrices;- dentro de [ ] para separar lneas- separar comandos- suprimir impresin%- indica comentario, el texto que le sigue es ignorado:- para indicar iteraciones o generar vectores en secuencias

  • Introduccin a MATLABOperadores: Ya que MATLAB est diseado 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 segn sea el caso

    Operadores aritmticos+ - Suma, A + B suma los elementos de A a los correspondientes de B. A y B deben tener el mismo tamao. Un escalar se le puede sumar a una matriz de cualquier tamao-- Resta, A B resta los elementos de A a los correspondientes de B. A y B deben tener el mismo tamao. Un escalar se le puede restar a una matriz de cualquier tamao*Multiplicacin de matrices, C = A * B es el producto algebraico lineal de las matrices A y B. Para matrices, el nmero de columnas de A debe ser igual al nmero de filas de B. Un escalar se puede multiplicar a una matriz de cualquier tamao

  • Introduccin a MATLAB

    Operadores aritmticos/- 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 divisin 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 solucin al sistema AX = B por el mtodo de eliminacin 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

  • Introduccin a MATLAB

    Operadores aritmticos de Arreglos de datos.*- A .* B, es la multiplicacin elemento por elemento de los arreglos A y B, los cuales deben tener el mismo tamao./- A ./ B, es la matriz con elementos A(i,j) / B(i,j). A y B deben tener el mismo tamao, 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 tamao, 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 tamao, al menos que uno sea un escalar

  • Notacin matricialLa mayor potencialidad de MATLAB es su capacidad para manejar matrices y vectores mediante un sistema de indexacin flexible, que permite realizar numerosas operaciones con comandos sencillos que no requieren procedimientos iterativosMATLAB trabaja fundamentalmente con un solo tipo de elemento base: matricesLos escalares son matrices de un elemento por un elemento y los vectores son matrices de una fila o de una columnaEjemplos:1. Generar un vector cuyos elementos son los nmero del 1 al 8

    >> v = [1:8]v = 1 2 3 4 5 6 7 8

  • Notacin matricial1. Generar un vector cuyos elementos son los nmero 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

  • Notacin matricial7. Multiplicacin 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 3Y = 3 2 1 4 1 1 5 2 1>> X.*Yans = 3 0 1 8 1 2 15 4 3

  • Operaciones con matricesTranspuesta de una matriz>> XX = 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)ans = 516

  • GrficosUna de las facilidades ms importantes que ofrece MATLAB es la capacidad de realizar grficas fcilmenteMATLAB grfica directamente la salida en una ventana separada de la ventana de comando llamada ventana de figuraLas funciones grficas automticamente crean una nueva ventana de figura si no existe ninguna. Si existe una ventana de figura, MATLAB usa esta ventana

  • GrficosComando plot>> x = [1:10]x = 1 2 3 4 5 6 7 8 9 10>> y = 4 - x + 2.5*x.^2y = 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')

  • GrficosComando 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 funcin f')>> xlabel('x')>> ylabel('y'))

    >> hold on>> plot([-3 -1],[3 1],'o-')

  • GrficosComando 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 funcin f')

  • ProgramasEs posible combinar un lote de instrucciones que ejecuten una serie de clculos y comparaciones para llegar a un resultado; un programaMATLAB permite guardar estos programas en archivos con extensin .mEstos archivos se ejecutan simplemente invocando su nombre sin la extensin, y pueden ser llamados desde otros programas a manera de rutinas o subprogramasLos archivos .m se puede crear usando un editor de texto cualquiera. MATLAB trae su propio editor de texto

  • ProgramasTipos de archivos .m

    Escritos (Scripts)Funciones (Functions)No aceptan argumentos de entrada ni retornan argumentos de salidaPueden aceptar argumentos de entrada y retornan argumentos de salidaOperan con datos existentes en el espacio de trabajoOperan con variables internas (locales)Usados principalmente para automatizar una serie de pasos que desean desarrollar en cualquier momentoUsados principalmente para crear aplicaciones

  • ProgramasPara declarar un archivo .m como una funcin es necesario escribir en la primera lnea ejecutable el nombre de la funcin (debe ser igual al nombre del archivo), los argumentos de entrada y los argumentos de salida, segn la siguiente estructura:

    function[]=NombreDeLaFuncion()Argumentos de salidaArgumentos de entrada

  • ProgramasComandos tiles para iniciarse en la programa en MATLAB:

    pauseDetiene la ejecucin del programa hasta que una tecla activa sea presionadainputRecibe datos por el teclado en tiempo de ejecucinfprintfPermite que el programa escriba informacin en la pantalla (datos, resultados, mensajes)

  • Programas

    if,else, endEstor tres comandos permiten tomar decisiones y tomar caminos alternativos durante la ejecucin del programa dependiendo del cumplimiento de una condicinif condicin instruccioneselse instruccionesendfor, endEstas instrucciones permiten construir ciclos o lazos con un nmero de iteraciones previamente establecidofor i = 1:10 instruccionesend

  • Programas

    while, endEstas instrucciones permiten hacer ciclos que se repiten indefinidamente hasta que alguna condicin impuesta deja de cumplirsewhile condicin instruccionesend

  • Matemtica simblica en MATLABMATLAB cuenta con un toolbox de matemtica simblica, que permite realizar operaciones de clculo sin el uso de valores numricos

    ClculoDiferenciacin, integracin, limites, sumatorias, series de TaylorAlgebra linealInversas, determinantes, autovalores, formas cannicas de matrices simblicasSimplificacinMtodos de simplificacin de expresiones matemticasSolucin de ecuacionesSoluciones simblicas y numricas a ecuaciones algebraicas y diferencialesTransformadasFourier, Laplace, z-transform, y las correspondientes transformadas inversas

  • Matemtica simblica en MATLABPrimero es necesario declarar las variables simblicas>> syms x yLuego se puede realizar operaciones y construir las funciones, por ejemplo>> f = x^2 + 3.4*y -20Derivada de f con respecto a x>> diff(f,x)ans =2*xIntegral de f entre 0 y pi>> int(f,0,pi)ans =1/3*pi^3+17/5*y*pi-20*pi


Recommended