Sie sind auf Seite 1von 73

LABORATORIO- 01

Facultad de Ingeniería de Minas, Geología y C iv il


Departamento académico de ingeniería de minas y c i v i l

METODOS
NUMERICOS
Sesión 01

CALCULO NUMERICO
• Programación Digital
• Ingeniería Civil
Programas de Matemáticas

CÁLCULO NUMÉRICO CÁLCULO SIMBÓLICO


• MatLab • Derive
• Hojas de Cálculo • Maple
• Mathcad

..
Objetivo de la práctica
• Introducir el programa de cálculo científico Matlab
• Familiarización de los comandos para:
• Representación y cálculo matricial
• Generación de señales y su visualización
• Creación de M-files
• Almacenamiento de resultados de una sesión e ingreso de datos
en el espacio de trabajo
• Usos típicos del MATLAB
• Cálculo numérico
• Desarrollo de algoritmos
• Modelado, simulación y desarrollo de prototipos
• Análisis y visualización de datos
• Construcción de gráficas
• Desarrollo de aplicaciones en áreas científicas y tecnológicas
HOJAS DE CÁLCULO
Métodos Numéricos
Aplicados a la Ingeniería
Hojas de Cálculo

• Los inventores de este programa informático


utilizaron el término “Electronic Spreadsheet”
que denomina una tabla de cifras electrónica.
• Como en otros productos informáticos, con el
tiempo se prescinde del término “Electronic”.
• “Hoja de cálculo” es un neologísmo castellano
para traducir el término inglés “Spreadsheet”.
Hojas de cálculo

• Aparición de nuevos y sencillos entornos de


trabajo como Windows.
• Paquetes integrados de software (Suite) que
incluyen un procesador de texto, una hoja de
cálculo, un gestor de bases de datos y
programas de diseño y presentación.
• Microsoft ....................................... Excel
MATLAB
Introducción
Métodos Numéricos
Aplicados a la Ingeniería
Sitio Oficial
• www.mathworks.com
• Existe mucha información y material.

De que se trata
• Es un conjunto de productos integrados para:
• análisis de datos
• visualización
• desarrollo de aplicaciones
• simulación
• diseño
• generación de código
¿Qué es MatLab?
MatLab es un programa interactivo para el análisis, diseño,
cálculo numérico y tratamiento de datos. Contiene muchas
herramientas y utilidades que permiten además diversas
funcionalidades, como resolver problemas en matemática
aplicada, física, química, ingeniería, finanzas y muchas otras
aplicaciones. Está basado en un sofisticado software de
matrices para el análisis de sistemas de ecuaciones como
integrar en análisis numérico, cálculo matricial, proceso de
señal y visualización gráfica en un entorno completo, su
elemento básico de trabajo son las matrices.

El nombre MATLAB proviene de la contracción de los términos


MATrix LABoratory, fue inicialmente concebido para propor-
cionar fácil acceso a las librerías LINPACK y EISPACK.
The MathWorks, Inc. - The Company

• Fundado en 1984, con fondos privados


• Basado en Natick, Massachusetts
• 475 empleados (150+ Diseñadores)
• Crecimiento anual > 30%
• Fundadores en estado activo:
Jack Little, Cleve Moler, y Steve Bangert
• MATLAB es el software computacional para:
• Diseño de productos y desarrollo
• Investigaciones en la industria y académicas
• Educación técnica
• Más de 400,000 MATLAB usuarios a nivel mundial
• Usado en más de 100 países
The MathWorks, Inc. - The Company
MATLAB es un lenguaje de muy alto nivel diseñado para
cómputo técnico. Integra en un mismo ambiente muy
fácil de usar cálculos, visualización y programación.

En este ambiente los problemas y sus soluciones se


pueden expresar en notación matemática fácil de
entender.
Algunos de los usos más comunes de MATLAB son:

 Cálculos matemáticos
 Desarrollo matemático
 Modelado y simulación
 Análisis de datos
 Obtención de gráficas
 Desarrollo de interfaces gráficas
Introducción al MATLAB

Algunas de estas herramientas son con enfoques a


sistemas de control, procesado de señales, procesado de
imágenes, lógica difusa, redes neuronales, simulación,
optimización, finanzas y economía, 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 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.
Entorno de desarrollo integrado del MATLAB 7.0
¿Qué es Matlab?
 Matlab = Matrix Laboratory.
 Programa interactivo para realizar cálculos numéricos 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 cálculo matricial en ordenadores sin
necesidad de conocimientos de programación.
MATLAB es un ambiente de técnico-informático integrado.
Sus capacidades incluyen:
• Computación matemática
• Gráficos y visualización
• Análisis de datos
• Desarrollo de algoritmos
• Simulación y modelamiento
• Programación y desarrollo de aplicaci ones

“Para los propósitos de los científicos e ingenieros, MATLAB tiene


los más 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 RTW

Toolboxes MATLAB Compiler


Productos de MathWorks
Language General Applications Signal Processing

MATLAB Optimization Signal Processing


Spline
Image Processing DSP Blockset
MATLAB Compiler
Statistics Mapping Wavelets
Symbolic Math Power System Block Set Communications
NAG Fuzzy Logic
Database Financial Toolbox
Partial Differential Eqns
Neural Network

System Simulation
Control Partners
Identification & Code generation

System ID ADI (Beacon)


Control System SIMULINK
Frequency-Domain dSPACE RTI
Robust Control Stateflow
System ID Real-Time Workshop VxWorks - Wind River
Mu-Analysis
Nonlinear Control Fixed Point Blockset SD/Fast - Symbolic Dynamics
Quantitative Fback RTW Ada Extension Maple V - Waterloo Maple
LMI Control Saber - Analogy
Model Predictive ADAMS - MDI
DADS - CADSI
Teamwork - CADRE
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.

CommandHistory.swf
Introducción
Elementos básicos 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
• Librerías 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
MATLAB
Entorno deDesarrolloIntegrado
Programación Digital
Ingeniería
Entorno de MATLAB
Editor
Simulink
Directorio

Ventana de
Comandos

Workspace

Historial de Comandos
MATLAB
Directorio: donde MATLAB tien
Edit: Editor donde escribes tus algoritmos es almacenado tus algoritmos.

Workspace: Espacio donde permite ob


servar las variables definidas en el co Command Window: Espacio donde puede escribir
mando o mediante un algoritmo. comandos como: hacer calculos (suma, resta, etc),
desarrollar graficas (figuras) llamar funciones de
ayuda (help).
Directorio: donde MATLAB tienes
almacenado tus algoritmos. 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 básicos 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
Entorno de desarrollo integrado del MATLAB
Entorno de desarrollo integrado del MATLAB
Características de Matlab

• Es un lenguaje de alto nivel

• Sistema a bierto
Integra en un único ambiente de

software: rutinas de cálculo,
Posee ext ensiones (Toolboxes)
Permite incorporar
visualización nuevas ión
y programac
• funciones
Utiliza not ación para su uso en
matemática standard
Colecciones de funciones
aplicaciones particulares
para resolver problemas
específicos
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
Simulación

Botón para
simular
Programación Básica

Step
Editor: Hoja de trabajo donde (dentro de
cada
podrás desarrollar algoritmos funcion)
Run
Debug

Nueva hoja Open “Find”: Busqueda Debugger and “Run”.


de trabajo “files” de algun “string”
Revisa el procedimiento
del algoritmo
Programación Básica: Lógica

Instrucciones
introductorias para
cualquier algoritmos

clear all; Borra del comando y de workspace las variables


generadas anteriormente
close all Eliminar todas las figuras generadas anteriormente
clc; Eliminar todas las figuras generadas anteriormente

warning off all En el comando no aparecerá las adventencias que


reclame MATLAB al correr el algoritmo
MATLAB Components
Visualization
Introducción
Elementos básicos del escritorio de Matlab

Current
directory

Command
Windows

Command
History
Elementos básicos del escritorio
• Command Windows:
Donde se ejecutan todas las instrucciones y programas. Se escribe la
instrucción 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
(También se puede usar desde comand windows)

• Workspace:
Para ver las variables que se están usando y sus dimensiones (si son
matrices)
Introducción
Algunos comentarios sobre la ventana de comandos

• Se pueden recuperar instrucciones con las teclas ↓↑

• Se puede mover por la línea de comandos con las teclas → ←. Ir


al comienzo de la línea con la tecla Inicio y al final con Fin. Con
Esc se borra toda la línea.

• Se puede cortar la ejecución de un programa con Ctrl+C


• help funcion
>> help tf  da una descripción de la función y muestra ejemplos de cómo
usarla.

• help toolbox
>> help control system  da un listado de todas las funciones del toolbo
x especificado y una descripción breve de cada función del toolbox.
Introducción
Debugger
Set/Clear breakingpoint: Coloca o borra un punto de ruptura
en la línea 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 función, entra en dicha función

Step out: Avanza un paso en el programa y si en ese paso se


llama a una función, entra en dicha función
Continue: Continua ejecutando hasta el siguiente punto de
ruptura
Quit debugging: Termina la ejecución del debugger
Introducción a la programación en MATLAB
Ventana Descripción
Command Window Entrada de comandos a ser procesados por MATLAB

Command History Listado de los comandos utilizados con anterioridad

Launch Pad Listado de acceso a documentación, demos, etc.

Current Directory Guía para la administración de archivos y directorios

Help Guía para el acceso y visualización de documentación on-line

Workspace Guía que permite acceder a variables de MATLAB

Array Editor Guía que permite modificar el contenido de variables

Editor Debugger 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 (Diseño)
1 to 5 different windows can be selected to appear (View)

Current
directory
window

Command
History Command
window window

Al-Amer 2006 57
MATLAB shortcuts (Atajos)
New Open files SIMULINK Help
file

Al-Amer 2006 58
MATLAB como una calculadora

Command window

>> 39*4.4+5

ans =
176.6000 The MATLAB command
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, dígitos o
subguión_
• Es diferente las mayúsculas a las
minúsculas (“A” es distinto“a”)
MATLAB: Asignación

 Variable names:
 Starts with a letter

 Up to 31 characters ( some use 19 or 21)

 May contain letters, digits and underscore_

» A=2.3  Case sensitive (“A” is not the same as “a”)

A=
2.3000 The MATLAB command

This is the result of the


MATLAB statement
MATLAB: Asignación Escalar

» A=2.3 this creates a variable “A”


A= and set its value to 2.3
2.3000
» A=[2.3] The square braces [ ] are
A= used to define matrices.
2.3000 We can use them for
scalars too.
MATLAB: Vector Fila

The square braces are


used to define a matrix

» X=[2,3 7 ] Space or comma are used


to separate elements in the
X= same row
2 3 7
MATLAB: Vector Columna

The square braces are


used to define a matrix

» X=[2;3 ; 7 ] semicolon are used to end a


row.
X= You can also use ENTER to
2 end a row
3
7
MATLAB: Declaraciones
MATLAB Statement Remarks
C=5.66 C is a scalar

C=[5.66] An alternative way

X=[3.5 6.3, 33] 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=[1 Y is a 2X1 matrix whose elements are 1
and 4.
4]
Y = [ 1 ; 4] Semicolon are used to indicate the end of
the row.
A=1:5 Equivalent to A=[1 2 3 4 5]
MATLAB: Declaraciones
MATLAB Statement Remarks

2 3 5
V=[ 2 3 5 V  
3 8
3 3 8]  3 

C=[1:3:11] C=[1 4 7 10]

Z=4\8 Z=2
1 0 
Y=eye(2) V 
0 1 
 

W = zeros(2,3) 0 0 0 
V  
0 0
 0 
MATLAB: Polinomios

roots(p) 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
polyval(p,v) Evaluate the polynomial
whose coefficients are
given in p at x=v
Ejemplo: Matriz Mágica
A =
16 3 2 13
5 10 11 8
9 6 7 12
4 15 14 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)))
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 Soluciones simbólicas y numéricas a ecuaciones
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)
• ans =
• 1/3*pi^3+17/5*y*pi-20*pi
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
Introducción a MATLAB
• Operadores: Ya que MATLAB está diseñado para trabajar con
matrices, todos los operadores realizan operaciones con matrices,
d e 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 Aa 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
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


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
Ayudas y documentación
Ejemplo de consulta

Secciones de la ayuda

• Syntax
• Description
• Arguments
• Examples
• Algorithm
• Limitations
• See Also
• References
Ayuda on-line
• Página oficial de soporte
http://www.mathworks.com/support/
– Documentación
– Soluciones a problemas ordenadas por categorías
– Ejemplos de código
– Noticias
– Actualizaciones
• Matlab Central
– Newsgroups
– File Exchange
– Link Exchange
• Soporte técnico personal por correo electrónico
– Utilizar un código de licencia válido
– Describir la plataforma
– Acotar el problema
Aplicaciones a la Ingeniería
Métodos Numéricos
Aplicados a la Ingeniería
Ejemplo
• Elaborar un program en MATLAB program para
calcular la raíz de la siguiente ecuación:
f (x)  2 cos( x) 1
Result
X=
% program 1 performs four iterations 1.1111
of X=
% Newton’s 1.0483
X=
Method X=.7
1.0472
for i=1:4 X=
1.0472
X=X – (2*cos(X)-1)/(-2*sin(X))
end
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

Das könnte Ihnen auch gefallen