Professional Documents
Culture Documents
METODOS NUMERICOS
Ingeniera Civil
Sesin 01
CALCULO NUMERICO
Programacin Digital Ingeniera Civil
Programas de Matemticas
CLCULO NUMRICO CLCULO SIMBLICO
ESPECFICOS
Estadstica: SPSS, Statgraphics, Minitab, ... lgebra: Winmat, Multimedia lgebra, ... Geometra: Cabri, Wingeom, Winplot, ...
Objetivo de la prctica
Representacin y clculo matricial Generacin de seales y su visualizacin Creacin de M-files Almacenamiento de resultados de una sesin e ingreso de datos en el espacio de trabajo
Usos tpicos del MATLAB Clculo numrico Desarrollo de algoritmos Modelado, simulacin y desarrollo de prototipos Anlisis y visualizacin de datos Construccin de grficas Desarrollo de aplicaciones en reas cientficas y tecnolgicas
HOJAS DE CLCULO
Mtodos Numricos Aplicados a la Ingeniera
Hojas de Clculo
Los inventores de este programa informtico utilizaron el trmino Electronic Spreadsheet que denomina una tabla de cifras electrnica. Como en otros productos informticos, con el tiempo se prescinde del trmino Electronic. Hoja de clculo es un neologsmo castellano para traducir el trmino ingls Spreadsheet. No confundir las hojas de clculo (Spreadsheet) con sus programas de gestin (Electronic Spreadsheet)
Hojas de clculo
Aparicin de nuevos y sencillos entornos de trabajo como Windows. Paquetes integrados de software (Suite) que incluyen un procesador de texto, una hoja de clculo, un gestor de bases de datos y programas de diseo y presentacin.
Lotus (IBM) ................................... Lotus 1-2-3 Borland(Inprise)->Novell->Corel .. Quattro Pro Microsoft ....................................... Excel
Hojas de clculo
Aspectos esenciales
Es un software. Maneja informaciones numricas que pueden estar relacionadas mediante frmulas u operaciones matemticas. La hoja de clculo tiene la estructura de una matriz de celdas ( interseccin de filas y columnas) que pueden contener un texto, un nmero o una frmula
Hojas de clculo
Capacidades de la Hoja de Clculo
Realiza todo tipo de clculos utilizando grupos de datos. Elimina errores potenciales asociados a las operaciones aritmticas. Recalcula automticamente todos los resultados cuando se corrige alguna cifra. Realiza todo tipo de operaciones con funciones matemticas. Calcula toda clase de parmetros estadsticos asociados a los valor es contenidos en la hoja. Genera grficos de representacin de datos. Intercambia informacin con otras hojas de clculo, bases de datos y procesadores de texto. Programa tareas repetitivas generando rutinas o macros.
Introduccin
Mtodos Numricos Aplicados a la Ingeniera
MATLAB
Sitio Oficial
www.mathworks.com
Existe mucha informacin y material.
De que se trata
Es un conjunto de productos integrados para:
anlisis de datos visualizacin desarrollo de aplicaciones simulacin diseo generacin de cdigo
Qu es MatLab?
MatLab es un programa interactivo para el anlisis, diseo, clculo numrico y tratamiento de datos. Contiene muchas herramientas y utilidades que permiten adems diversas funcionalidades, como resolver problemas en matemtica aplicada, fsica, qumica, ingeniera, finanzas y muchas otras aplicaciones. Est basado en un sofisticado software de matrices para el anlisis de sistemas de ecuaciones como integrar en anlisis numrico, clculo matricial, proceso de seal y visualizacin grfica en un entorno completo, su elemento bsico de trabajo son las matrices. El nombre MATLAB proviene de la contraccin de los trminos MATrix LABoratory, fue inicialmente concebido para proporcionar fcil acceso a las libreras LINPACK y EISPACK.
Introduccin al MATLAB
Algunas de estas herramientas son con enfoques a sistemas de control, procesado de seales, procesado de imgenes, lgica difusa, redes neuronales, simulacin, optimizacin, finanzas y economa, entre otras. Estas herramientas se conocen como TOOLBOXES y constituyen una parte importante del MATLAB que permite resolver una clase particular de problemas.
MATLAB = MATrix LABoratory Es un entorno de computacin que presenta facilidades para clculo matemtico y visualizacin grfica Dispone de toolboxes especializados: Control Systems, Neural Netword, Optimization, etc.
Qu es Matlab? Matlab = Matrix Laboratory. Programa interactivo para realizar clculos numricos y visualizaciones en el ordenador. Programa comercial de The Mathworks Inc (Natick, MA). http://www.mathworks.com Creado en California por Jack Little and Cleve Moler en 1984, para realizar clculo matricial en ordenadores sin necesidad de conocimientos de programacin.
Stateflow
Coder
RTW Compiler
Productos de MathWorks
Language General Applications Signal Processing
MATLAB
MATLAB Compiler
Database
System Identification
Control
Partners
Control System Robust Control Mu-Analysis Nonlinear Control Quantitative Fback LMI Control Model Predictive
SIMULINK Stateflow Real-Time Workshop Fixed Point Blockset RTW Ada Extension
ADI (Beacon) dSPACE RTI VxWorks - Wind River SD/Fast - Symbolic Dynamics Maple V - Waterloo Maple Saber - Analogy ADAMS - MDI DADS - CADSI Teamwork - CADRE
Clientes de MATLAB
Gobierno Comercial - US Air Force (US and Allied Signal others) Bell Helicopter Canadian Space Boeing Agency Harris DoD Honeywell European Space Lockheed/Martin Agency Northrop-Grumman Ministry of Defense Pratt and Whitney NASA (all facilities) Raytheon Sys. Co. Navy (US and others)Sikorsky NSA TRW Internacional Aerospatiale Airbus Consortium Alenia British Aerospace CASA DERA IAI Matra Sagem Spar Aerospace SNECMA
Otros Toolboxes
Application Areas Technical Computing Mathematical computation, analysis, visualization, and algorithm development Control Design Model-Based Design for control systems, including simulation, rapid prototyping, and code generation for embedded systems Signal Processing and Communications Model-Based Design for signal processing and communication systems including simulation, code generation, and verification Image Processing Image acquisition, analysis, visualization, and algorithm development Test & Measurement Hardware connectivity and data analysis for test and measurement applications Financial Modeling and Analysis Financial modeling, analysis, and application deployment
Introduccin al MATLAB
MATLAB = MATrix LABoratory Es un entorno de computacin que presenta facilidades para clculo matemtico y visualizacin grfica Dispone de toolboxes especializados:
CommandHistory.swf
Introduccin
Elementos bsicos del escritorio de Matlab
Current directory
Requisitos de Matlab
Plataformas donde corre Matlab
Sistema Operativo Unix: Linux, solaris, HP-UX MacOS MS-Windows Arquitectura RISC: Sparc, HP-PA PowerMac (G4, G5) Intel Pentium(III, IV, Xeon, M), AMD (Athlon, Opteron)
Toolboxes
Libreras especializadas en materias concretas. Incluyen: Manuales tipo tutorial (User's Guide) [HTML, PDF] Referencia de las funciones (Reference Guide) [HTML, PDF] Programas de demo Aplicaciones completas listas para utilizar
Versiones de Matlab
Matlab 5 Grficos de calidad (2D, 3D) PC: Corre bajo windows utilizando toda la memoria disponible Matlab 6 Entorno de desarrollo con interfaz Java. Matrices 3D, estructuras, cell arrays Matlab 7 Mejoras en el interfaz y mejora de Simulink Matlab compiler admite objetos Clculo con enteros Matlab Matlab Matlab Matlab R2007a R2007b R2008a R2009a
Entorno de MATLAB
Editor Simulink Directorio Ventana de Comandos Workspace
Historial de Comandos
MATLAB
Edit: Editor donde escribes tus algoritmos Directorio: donde MATLAB tien es almacenado tus algoritmos.
Workspace: Espacio donde permite ob servar las variables definidas en el co mando o mediante un algoritmo. Directorio: donde MATLAB tienes almacenado tus algoritmos.
Command Window: Espacio donde puede escribir comandos como: hacer calculos (suma, resta, etc), desarrollar graficas (figuras) llamar funciones de ayuda (help). Help: (F1) Manual de Ayuda para utilizar todos los rec ursos que tiene MATLAB Command History: Espacio donde puede observar los comando hechos anteriormente. Ademas comandos se mantienen almacenados a traves del tiempo.
Current directory
Arraque de Matlab Windows Inicio/Programas/Matlab 7.0.1/Matlab 7.0.1 icono de Matlab en el escritorio comando: matlab comando: matlab r programa - Unix comando: matlab En IIT comandos: matlab, matlab5, matlab6.1, matlab6.5, matlab7.0, matlabR2007 Ejemplo til: matlab6.5 -nodisplay
Caractersticas de Matlab
Es un lenguaje de alto nivel Sistema abierto
Integra en un nico ambiente de software: rutinas de clculo, Posee extensiones (Toolboxes) visualizacin y programacin Permite incorporar nuevas Utiliza notacin matemtica standard funciones para su uso en Colecciones de funciones aplicaciones particulares para resolver problemas especficos
EDITOR
>> edit Abre el editor de MATLAB El archivo se guarda (*.m)
nombre.m
SIMULINK
>> simulink Simulacin
Programacin Bsica
Step (dentro de cada funcion)
Run
Open files
Instrucciones introductorias para cualquier algoritmos clear all; close all clc; warning off all
Borra del comando y de workspace las variables generadas anteriormente Eliminar todas las figuras generadas anteriormente Eliminar todas las figuras generadas anteriormente En el comando no aparecer las adventencias que reclame MATLAB al correr el algoritmo
MATLAB Components
Visualization
Introduccin
Elementos bsicos del escritorio de Matlab
Current directory
Current directory
Introduccin
Algunos comentarios sobre la ventana de comandos Se pueden recuperar instrucciones con las teclas Se puede mover por la lnea de comandos con las teclas . Ir al comienzo de la lnea con la tecla Inicio y al final con Fin. Con Esc se borra toda la lnea. Se puede cortar la ejecucin de un programa con Ctrl+C
help funcion >> help tf da una descripcin de la funcin y muestra ejemplos de cmo usarla. help toolbox >> help control system da un listado de todas las funciones del toolbo x especificado y una descripcin breve de cada funcin del toolbox.
Introduccin
Debugger
Set/Clear breakingpoint: Coloca o borra un punto de ruptura en la lnea en que est colocado el cursor Clear all breakingpoints:: Borra todos los puntos de ruptura Step: Avanza un paso en el programa Step in: Avanza un paso en el programa y si en ese paso se llama a una funcin, entra en dicha funcin Step out: Avanza un paso en el programa y si en ese paso se llama a una funcin, entra en dicha funcin Continue: Continua ejecutando hasta el siguiente punto de ruptura Quit debugging: Termina la ejecucin del debugger
Descripcin
Entrada de comandos a ser procesados por MATLAB
Listado de los comandos utilizados con anterioridad Listado de acceso a documentacin, demos, etc. Gua para la administracin de archivos y directorios Gua para el acceso y visualizacin de documentacin on-line Gua que permite acceder a variables de MATLAB Gua que permite modificar el contenido de variables Editor de textos para archivos de MATLAB
Run MATLAB
From Start Menu
Select Programs Select MATLAB
Command window
57
Al-Amer 2006
58
Command window
The result.
Al-Amer 2006 59
MATLAB: Variables
Nombre de las variables:
Comienzan con una letra Hasta 31 caracteres ( algunos usan19 o 21) Pueden contener letras, dgitos o subguin_ Es diferente las maysculas a las minsculas (A es distintoa)
MATLAB: Asignacin
A=2.3 A= 2.3000
Variable names: Starts with a letter Up to 31 characters ( some use 19 or 21) May contain letters, digits and underscore_ Case sensitive (A is not the same as a)
this creates a variable A and set its value to 2.3 The square braces [ ] are used to define matrices. We can use them for scalars too.
X=[2,3 7 ] X= 2 3 7
X=[2;3 ; 7 ]
X= 2 3 7
semicolon are used to end a row. You can also use ENTER to end a row
MATLAB: Declaraciones
MATLAB Statement C=5.66 C=[5.66] X=[3.5 6.3, 33] Y=[1 4] Y = [ 1 ; 4] A=1:5
Remarks
C is a scalar An alternative way X is a 1X3 matrix with elements 3.5 , 6.3 and 33. Commas or space are used to separate the elements in a row Y is a 2X1 matrix whose elements are 1 and 4. Semicolon are used to indicate the end of the row. Equivalent to A=[1 2 3 4 5]
MATLAB: Declaraciones
MATLAB Statement
V=[ 2 3 5 3 3 8] C=[1:3:11] Z=4\8 Y=eye(2) W = zeros(2,3)
Remarks
2 3 5 V 3 3 8
C=[1 4 7 Z=2 10]
1 0 V 0 1
0 0 0 V 0 0 0
MATLAB: Polinomios
Find the roots of a polynomial whose coefficients are given in p roots([1 4 2.1]) Find the roots of x2+4x+2.1=0
roots(p)
polyval(p,v)
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
fliplr(A)
==>
sum(diag(fliplr(A)))
Introduccin a MATLAB
Lnea de comandos: Es un conjunto de cdigos MATLAB, s eparados por coma (,) o punto y coma (;) que se ejecutan s ecuencialmente segn aparecen en la lnea una vez que se pulsa l a tecla ENTER Ejemplo
>> X = 1 + 1, Y = 2 * 2; Z = sin(pi/2) X = 2 Z = 1
Una lnea de comandos puede ser editada y modificada usando las t eclas de desplazamiento
Introduccin a MATLAB
Caracteres especiales: A algunos smbolos se ha asignado una f uncin particular para facilitar la escritura de instrucciones, los d e 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 MATLAB
Operadores: Ya que MATLAB est diseado para trabajar con m atrices, todos los operadores realizan operaciones con matrices, de modo que un escalar puede verse como una matriz 1 x 1 y un vec tor 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
Ayudas y documentacin
Ejemplo de consulta
Secciones de la ayuda Syntax Description Arguments Examples Algorithm Limitations See Also References
Ayuda on-line
Pgina oficial de soporte http://www.mathworks.com/support/ Documentacin Soluciones a problemas ordenadas por categoras Ejemplos de cdigo Noticias Actualizaciones Matlab Central Newsgroups File Exchange Link Exchange Soporte tcnico personal por correo electrnico Utilizar un cdigo de licencia vlido Describir la plataforma Acotar el problema
Aplicaciones a la Ingeniera
Mtodos Numricos Aplicados a la Ingeniera
Ejemplo
Elaborar un program en MATLAB program para calcular la raz de la siguiente ecuacin:
f ( x ) 2 cos( x ) 1
Result
% program 1 performs four iterations of % Newtons Method X=.7 for i=1:4 X=X (2*cos(X)-1)/(-2*sin(X)) end X= 1.1111 X= 1.0483 X= 1.0472 X= 1.0472
Alternativa 1
Alternativa 2
Alternativa 3
>> rqroots Enter quadratic coefficient a: 1 Enter quadratic coefficient b: 5 Enter quadratic coefficient c: 6 Value of first quadratic root: -2 Value of second quadratic root: -3 >> rqroots Enter quadratic coefficient a: 1 Enter quadratic coefficient b: 4 Enter quadratic coefficient c: 8 Value of first quadratic root: -2.0000+ 2.0000i Value of second quadratic root: -2.0000- 2.0000i
Muchas Gracias