Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Laboratorio metodos-numericos-unsch-01
1. LABORATORIO
01
Facultad de Ingeniería de Minas, Geología y Civil
Departamento académico de ingeniería de minas y civil
METODOS
NUMERICOS
Ingeniería Civil
ING. CRISTIAN CASTRO P.
5. 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
7. 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”.
• No confundir las hojas de cálculo (Spreadsheet) con
sus programas de gestión (Electronic Spreadsheet)
8. 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.
• Lotus (IBM) ................................... Lotus 1-2-3
• Borland(Inprise)->Novell->Corel .. Quattro Pro
• Microsoft ....................................... Excel
9.
10. Hojas de cálculo
Aspectos esenciales
Es un software.
Maneja informaciones numéricas que pueden estar relacionadas
mediante fórmulas u operaciones matemáticas.
La hoja de cálculo tiene la estructura de una matriz de celdas
( intersección de filas y columnas) que pueden contener un texto,
un número o una fórmula
¿ Qué es una “Hoja de Cálculo” ?
“ Herramienta informática que viene a
sustituir conjuntamente a ...
muchas hojas de papel ,
un bolígrafo y
una calculadora ”.
11. Hojas de cálculo
Capacidades de la Hoja de Cálculo
Realiza todo tipo de cálculos utilizando grupos de datos.
Elimina errores potenciales asociados a las operaciones aritméticas.
Recalcula automáticamente todos los resultados cuando se corrige
alguna cifra.
Realiza todo tipo de operaciones con funciones matemáticas.
Calcula toda clase de parámetros estadísticos asociados a los valor
es contenidos en la hoja.
Genera gráficos de representación de datos.
Intercambia información con otras hojas de cálculo, bases de datos
y procesadores de texto.
Programa tareas repetitivas generando rutinas o macros.
15. 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
16. ¿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 proporcionar fácil acceso a las librerías LINPACK y EISPACK.
17. 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
18. 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
19. The MathWorks, Inc. - The Company
MATLAB actualmente es un poderoso sistema de cálculo
de operaciones matemáticas y programación interactivo
que integra un sistema de graficación.
El lenguaje de programación de MATLAB es más
poderoso que lenguajes como FORTRAN, C, VISUAL
BASIC o PASCAL.
Junto a MATLAB se ha desarrollado una colección de
herramientas que programadas en MATLAB pueden
realizar un conjunto de actividades en ciertas áreas de
ingeniería, las ciencias, finanzas y economía, por
mencionar algunas.
20. 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.
22. ¿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.
23. 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 aplicaciones
“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
24.
25. The MathWorks Product Suite
Stateflow
Blocksets Simulink
Toolboxes
MATLAB
Coder
RTW
Compiler
26. Productos de MathWorks
Language
MATLAB
MATLAB Compiler
General
Optimization
Spline
Statistics
Symbolic Math
NAG
Database
System
Identification
System ID
Frequency-Domain
System ID
Control
Control System
Robust Control
Mu-Analysis
Nonlinear Control
Quantitative Fback
LMI Control
Model Predictive
Applications
Signal Processing
Image Processing
Mapping
Signal Processing
DSP Blockset
Wavelets
Communications
Power System Block Set
Fuzzy Logic
Financial Toolbox
Partial Differential Eqns
Neural Network
Simulation
& Code generation
SIMULINK
Stateflow
Real-Time Workshop
Fixed Point Blockset
RTW Ada Extension
Partners
ADI (Beacon)
dSPACE RTI
VxWorks - Wind River
SD/Fast - Symbolic Dynamics
Maple V - Waterloo Maple
Saber - Analogy
ADAMS - MDI
DADS - CADSI
Teamwork - CADRE
27. 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
28. 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
29. 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
38. MATLAB
Edit: Editor donde escribes 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.
Directorio: donde MATLAB tien
es 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.
39. Entorno de Desarrollo Integrado
Elementos básicos del escritorio de Matlab
Current
directory
Command
Windows
Command
History
40. 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
43. Características de Matlab
• Es un lenguaje de alto nivel
• Sistema abierto
•
•
Integra en un único ambiente de
software: rutinas de cálculo,
Posee extensiones (Toolboxes)
visualización y programación
Permite incorporar nuevas
Utiliza notación matemática standard
funciones para su uso en
Colecciones de funciones
aplicaciones particulares
para resolver problemas
específicos
44. 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)
46. Programación Básica
Editor: Hoja de trabajo donde
podrás desarrollar algoritmos
Debug
Nueva hoja
de trabajo
Open
“files”
“Find”: Busqueda
de algun “string”
Step
(dentro de
cada
funcion)
Run
Debugger and “Run”.
Revisa el procedimiento
del algoritmo
47. 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;
warning off all
Eliminar todas las figuras generadas anteriormente
En el comando no aparecerá las adventencias que
reclame MATLAB al correr el algoritmo
51. Elementos básicos del escritorio de Matlab
Current
directory
Command
Windows
Command
History
52. 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)
53. 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.
54. 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
55. 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
56. Run MATLAB
From Start Menu
• Select Programs
• Select MATLAB
MATLAB Prompt
Tells that MATLAB
is ready for your
command
57. MATLAB Layout (Diseño)
1 to 5 different windows can be selected to appear (View)
Current
directory
window
Command
History
window
Command
window
Al-Amer 2006
57
59. MATLAB como una calculadora
Command window
>> 39*4.4+5
ans =
176.6000
The MATLAB command
Command window
The result.
Al-Amer 2006
59
60. 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”)
61. MATLAB: Asignación
» 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
62. MATLAB: Asignación 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.
63. 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
64. MATLAB: Vector Columna
The square braces are
used to define a matrix
» X=[2;3 ; 7 ]
semicolon are used to end a
row.
X=
2
3
7
You can also use ENTER to
end a row
65. 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
4]
Y is a 2X1 matrix whose elements are 1
and 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]
67. 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
68. Ejemplo: Matriz Mágica
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)))
69. 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
70. 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
71. Introducción a MATLAB
•
Línea de comandos: Es un conjunto de códigos MATLAB,
s
eparados por coma (,) o punto y coma (;) que se ejecutan
s
ecuencialmente según aparecen en la línea 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 línea de comandos puede ser editada y modificada usando las t
eclas de desplazamiento ← ↑ → ↓
72. Introducción a MATLAB
•
Caracteres especiales: A algunos símbolos se ha asignado una f
unción particular para facilitar la escritura de instrucciones, los d
e 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
73. Introducción a MATLAB
•
Operadores: Ya que MATLAB está diseñado 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 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
74. 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
- AB, se conoce como división por la izquierda, si A es
cuadrada, AB 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 = AB 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
75. 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
77. Ejemplo de consulta
Secciones de la ayuda
•
•
•
•
•
•
•
•
Syntax
Description
Arguments
Examples
Algorithm
Limitations
See Also
References
78. 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
79. Aplicaciones a la Ingeniería
Métodos Numéricos
Aplicados a la Ingeniería
80. Ejemplo
• Elaborar un program en MATLAB program para
calcular la raíz de la siguiente ecuación:
f ( x ) 2 cos( x ) 1
Result
% program 1 performs four iterations of
% Newton’s 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
84. >> 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