You are on page 1of 85

LABORATORIO 01

Facultad de Ingeniera de Minas, Geologa y Civil


Departamento acadmico de ingeniera de minas y civil

METODOS NUMERICOS
Ingeniera Civil

ING. CRISTIAN CASTRO P.

Laboratorio de Computacin Numrica

ING. CRISTIAN CASTRO P.

Sesin 01

CALCULO NUMERICO
Programacin Digital Ingeniera Civil

Programas de Matemticas
CLCULO NUMRICO CLCULO SIMBLICO

MatLab Hojas de Clculo Software a medida

Derive Maple Mathcad Mathematica

ESPECFICOS

Estadstica: SPSS, Statgraphics, Minitab, ... lgebra: Winmat, Multimedia lgebra, ... Geometra: Cabri, Wingeom, Winplot, ...

Introducir el programa de clculo cientfico Matlab Familiarizacin de los comandos para:


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

Qu es una Hoja de Clculo ?


Herramienta informtica que viene a sustituir conjuntamente a ... muchas hojas de papel , un bolgrafo y una calculadora .

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.

Manejo del Excel

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.

The MathWorks, Inc. - The Company


Fundado en 1984, con fondos privados Basado en Natick, Massachusetts 475 empleados (150+ Diseadores) Crecimiento anual > 30% Fundadores en estado activo: Jack Little, Cleve Moler, y Steve Bangert MATLAB es el software computacional para: Diseo de productos y desarrollo Investigaciones en la industria y acadmicas Educacin tcnica Ms de 400,000 MATLAB usuarios a nivel mundial Usado en ms de 100 pases

The MathWorks, Inc. - The Company


MATLAB es un lenguaje de muy alto nivel diseado para cmputo tcnico. Integra en un mismo ambiente muy fcil de usar clculos, visualizacin y programacin. En este ambiente los problemas y sus soluciones se pueden expresar en notacin matemtica fcil de entender. Algunos de los usos ms comunes de MATLAB son: Clculos matemticos Desarrollo matemtico Modelado y simulacin Anlisis de datos Obtencin de grficas Desarrollo de interfaces grficas

The MathWorks, Inc. - The Company


MATLAB actualmente es un poderoso sistema de clculo de operaciones matemticas y programacin interactivo que integra un sistema de graficacin. El lenguaje de programacin de MATLAB es ms poderoso que lenguajes como FORTRAN, C, VISUAL BASIC o PASCAL. Junto a MATLAB se ha desarrollado una coleccin de herramientas que programadas en MATLAB pueden realizar un conjunto de actividades en ciertas reas de ingeniera, las ciencias, finanzas y economa, por mencionar algunas.

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.

Entorno de desarrollo integrado del MATLAB 7.0

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.

MATLAB es un ambiente de tcnico-informtico integrado. Sus capacidades incluyen:


Computacin matemtica Grficos y visualizacin Anlisis de datos Desarrollo de algoritmos Simulacin y modelamiento Programacin y desarrollo de aplicaciones

Para los propsitos de los cientficos e ingenieros, MATLAB tiene


los ms grandes rasgos y es el mejor programa desarrollado de su clase. - IEEE Spectrum, Software Review, February 1997

The MathWorks Product Suite

Stateflow

Coder

Blocksets Simulink Toolboxes MATLAB

RTW Compiler

Productos de MathWorks
Language General Applications Signal Processing

MATLAB
MATLAB Compiler

Optimization Spline Statistics Symbolic Math NAG

Image Processing Mapping


Power System Block Set Fuzzy Logic Financial Toolbox Partial Differential Eqns Neural Network Simulation & Code generation

Signal Processing DSP Blockset Wavelets Communications

Database

System Identification

Control

Partners

System ID Frequency-Domain System ID

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:

Control Systems, Neural Netword, Optimization, etc.

CommandHistory.swf

Introduccin
Elementos bsicos del escritorio de Matlab

Current directory

Command Windows Command History

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

MATLAB Entorno de Desarrollo Integrado


Programacin Digital Ingeniera Civil

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.

Entorno de Desarrollo Integrado


Elementos bsicos del escritorio de Matlab

Current directory

Command Windows Command History

Entorno de desarrollo integrado del MATLAB

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

Entorno de desarrollo integrado del MATLAB

Entorno de desarrollo integrado del MATLAB

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

Para correrlo tecla F5


Barra de Men Debug Run

Para correrlo desde MATLAB


>> nombre.m
IMPORTANTE:
el directorio debe estar ubicado donde se encuentra el archivo (nombre.m)

SIMULINK
>> simulink Simulacin

Botn para simular

Programacin Bsica
Step (dentro de cada funcion)

Editor: Hoja de trabajo donde podrs desarrollar algoritmos


Debug

Run

Nueva hoja de trabajo

Open files

Find: Busqueda de algun string

Debugger and Run. Revisa el procedimiento del algoritmo

Programacin Bsica: Lgica

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

Command Windows Command History

Elementos bsicos del escritorio de Matlab

Current directory

Command Windows Command History

Elementos bsicos del escritorio


Command Windows: Donde se ejecutan todas las instrucciones y programas. Se escribe la instruccin o el nombre del programa y se da a Enter. Command History: Muestra los ltimos comandos ejecutados en Command Windows. Se puede recuperar el comando haciendo doble Current directory: Situarse en el directorio donde se va a trabajar Help (Tambin se puede usar desde comand windows) Workspace: Para ver las variables que se estn usando y sus dimensiones (si son matrices)

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

Introduccin a la programacin en MATLAB


Ventana
Command Window Command History Launch Pad Current Directory Help Workspace Array Editor Editor 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

MATLAB Prompt Tells that MATLAB is ready for your command

MATLAB Layout (Diseo)


1 to 5 different windows can be selected to appear (View)

Current directory window

Command History window


Al-Amer 2006

Command window
57

MATLAB shortcuts (Atajos)


New file Open files SIMULINK Help

Al-Amer 2006

58

MATLAB como una calculadora

Command window

>> 39*4.4+5 ans = 176.6000


Command window

The MATLAB command

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)

The MATLAB command This is the result of the MATLAB statement

MATLAB: Asignacin Escalar


A=2.3 A= 2.3000
A=[2.3] A= 2.3000

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.

MATLAB: Vector Fila


The square braces are used to define a matrix

X=[2,3 7 ] X= 2 3 7

Space or comma are used to separate elements in the same row

MATLAB: Vector Columna


The square braces are used to define a matrix

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)

Evaluate the polynomial whose coefficients are given in p at x=v

Ejemplo: Matriz Mgica


A = 16 5 9 4 3 10 6 15 2 11 7 14 13 8 12 1

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)))

Matemtica simblica en MATLAB


MATLAB cuenta con un toolbox de matemtica simblica, que permite realizar operaciones de clculo sin el uso de valores numricos
Clculo Algebra lineal Simplificacin Solucin de ecuaciones Transformadas Diferenciacin, integracin, limites, sumatorias, series de Taylor Inversas, determinantes, autovalores, formas cannicas de matrices simblicas Mtodos de simplificacin de expresiones matemticas Soluciones simblicas y numricas a ecuaciones algebraicas y diferenciales Fourier, Laplace, z-transform, y las correspondientes transformadas inversas

Matemtica simblica en MATLAB


Primero es necesario declarar las variables simblicas >> 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) ans = 1/3*pi^3+17/5*y*pi-20*pi

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

You might also like