Sei sulla pagina 1di 51

Introducción

Matlab
Modelación Matemática

Presentación Curso

Omar Andrés Cuervo Fernández

Universidad de la Sabana

Julio 2020

Usabana

Omar Andrés Cuervo Fernández Métodos Numéricos


Introducción Problemática
Matlab Métodos Numéricos
Modelación Matemática Programa del Curso

Contenido
1 Introducción
Problemática
Métodos Numéricos
Programa del Curso
2 Matlab
¿Qué es?
Algo del lenguaje
Consideraciones importantes
Ejercicios
3 Modelación Matemática
Modelos
Tipos de errores
Cifras significativas decimales
Usabana

Omar Andrés Cuervo Fernández Métodos Numéricos


Introducción Problemática
Matlab Métodos Numéricos
Modelación Matemática Programa del Curso

Problema

En ingenierı́a y carreras afines se presenta la necesidad de resolver


problemas modelados por matemáticas.
Clave: Aparición de las computadoras de alta potencia.

Usabana

Omar Andrés Cuervo Fernández Métodos Numéricos


Introducción Problemática
Matlab Métodos Numéricos
Modelación Matemática Programa del Curso

Problemas en la solución

1 No todos los problemas tienen solución analı́tica.


Ejemplo:

2 Método de solución gráfica, solo es válido para pequeñas


dimensiones.
3 Se hacen consideraciones para volver más sencillos los
cálculos. Linealización de problemas.
4 Aparecen métodos numéricos para aproximar soluciones.

Usabana

Omar Andrés Cuervo Fernández Métodos Numéricos


Introducción Problemática
Matlab Métodos Numéricos
Modelación Matemática Programa del Curso

Métodos Numéricos

1 Teorı́a: Solucionamos problemas en geometrı́as complicadas,


no lineales y extremadamente complejos.
2 Práctica: Diseño óptimo de programas para solución de
problemas.
3 El entendimiento de la teorı́a, permite manipular eficazmente
los sotfware que existen en la industria.
4 Los métodos numéricos transforman operaciones
matemáticas complicadas en operaciones aritméticas
sencillas.

Usabana

Omar Andrés Cuervo Fernández Métodos Numéricos


Introducción Problemática
Matlab Métodos Numéricos
Modelación Matemática Programa del Curso

Observación Importante

Sin entendimiento de la teorı́a, las computadoras se vuelven


herramientas inservibles.

Usabana

Omar Andrés Cuervo Fernández Métodos Numéricos


Introducción Problemática
Matlab Métodos Numéricos
Modelación Matemática Programa del Curso

Contenido curso

Usabana

Omar Andrés Cuervo Fernández Métodos Numéricos


Introducción Problemática
Matlab Métodos Numéricos
Modelación Matemática Programa del Curso

Contenido curso

Usabana

Omar Andrés Cuervo Fernández Métodos Numéricos


Introducción Problemática
Matlab Métodos Numéricos
Modelación Matemática Programa del Curso

Contenido curso

Usabana

Omar Andrés Cuervo Fernández Métodos Numéricos


Introducción Problemática
Matlab Métodos Numéricos
Modelación Matemática Programa del Curso

Contenido curso

Usabana

Omar Andrés Cuervo Fernández Métodos Numéricos


¿Qué es?
Introducción
Algo del lenguaje
Matlab
Consideraciones importantes
Modelación Matemática
Ejercicios

Contenido
1 Introducción
Problemática
Métodos Numéricos
Programa del Curso
2 Matlab
¿Qué es?
Algo del lenguaje
Consideraciones importantes
Ejercicios
3 Modelación Matemática
Modelos
Tipos de errores
Cifras significativas decimales
Usabana

Omar Andrés Cuervo Fernández Métodos Numéricos


¿Qué es?
Introducción
Algo del lenguaje
Matlab
Consideraciones importantes
Modelación Matemática
Ejercicios

MATLAB

MATrix LABoratory - Programa orientado a la resolución de pro-


blemas en Matemática e Ingenierı́a cuyo elemento principal son las
matrices.

Usabana

Omar Andrés Cuervo Fernández Métodos Numéricos


¿Qué es?
Introducción
Algo del lenguaje
Matlab
Consideraciones importantes
Modelación Matemática
Ejercicios

Caracterı́sticas MATLAB

1 Trabaja por medio de funciones pre-establecidas en el


programa o de creación por el usuario.
2 Operaciones con MATRICES por defecto (que en otros
lenguajes se debe programar).
3 Alta potencia en gráficos para presentación de resultados.

Usabana

Omar Andrés Cuervo Fernández Métodos Numéricos


¿Qué es?
Introducción
Algo del lenguaje
Matlab
Consideraciones importantes
Modelación Matemática
Ejercicios

Variables

Se escribe el nombre de la variable y a continuación = con el valor


que se le asigna.

Observaciones
1 Matlab por defecto distingue entre minúsculas y mayúsculas.
Se puede anular esto utilizando el comando casesen off.
2 Si al final de la asignación colocamos punto y coma, no se
muestra el valor de la variable en la ejecución del programa.

Usabana

Omar Andrés Cuervo Fernández Métodos Numéricos


¿Qué es?
Introducción
Algo del lenguaje
Matlab
Consideraciones importantes
Modelación Matemática
Ejercicios

Matrices

Una matriz es un tipo de variable que se define por medio de arreglos


en filas y columnas. Un vector es un caso particular de matriz con
una fila (vector columna) o una columna (vector fila).
Forma de escribir: A=[a b c ; d e f ; g h i ].

Ejemplo: Crear un vector fila con los números 1, 2 y 3. Luego un


vector columna.

Usabana

Omar Andrés Cuervo Fernández Métodos Numéricos


¿Qué es?
Introducción
Algo del lenguaje
Matlab
Consideraciones importantes
Modelación Matemática
Ejercicios

Matrices
Otra sintaxis

La primera componente de una matriz define el número de la fila y


la segunda componente el número de columna. Si A es una matriz,
entonces A(i,:) denota la fila i de la matriz y A(:,j) denota la
columa j de la matriz.
Observación: Otra forma de llenar una matriz, es por medio de
ciclos iterativos.

Usabana

Omar Andrés Cuervo Fernández Métodos Numéricos


¿Qué es?
Introducción
Algo del lenguaje
Matlab
Consideraciones importantes
Modelación Matemática
Ejercicios

Operaciones con Matrices

Suma y resta de matrices, se define por A+B y A-B,


respectivamente.
A*B define la multiplicación de matrices (teniendo en cuenta
la regla de las dimensiones).
A.*B multiplica componente a componente los elementos de
las matrices. ¡IMPORTANTE!
inv(A) o A∧ (-1) proporciona la inversa de la matriz A.

Usabana

Omar Andrés Cuervo Fernández Métodos Numéricos


¿Qué es?
Introducción
Algo del lenguaje
Matlab
Consideraciones importantes
Modelación Matemática
Ejercicios

Algunos tipos de Matrices

Usabana

Omar Andrés Cuervo Fernández Métodos Numéricos


¿Qué es?
Introducción
Algo del lenguaje
Matlab
Consideraciones importantes
Modelación Matemática
Ejercicios

Vectores

linespace(a,b) crea un vector con 100 elementos desde a


hasta b e igualmente equiespaciados.
linespace(a,b,n) crea un vector con n elementos desde a
hasta b e igualmente equiespaciados.
a:h:b crea un vector desde a hasta b con distancia h entre
sus componentes.

Usabana

Omar Andrés Cuervo Fernández Métodos Numéricos


¿Qué es?
Introducción
Algo del lenguaje
Matlab
Consideraciones importantes
Modelación Matemática
Ejercicios

Funciones con vectores

Usabana

Omar Andrés Cuervo Fernández Métodos Numéricos


¿Qué es?
Introducción
Algo del lenguaje
Matlab
Consideraciones importantes
Modelación Matemática
Ejercicios

Norma de un vector

La norma (euclideana) de un vector se define con el comando norm(v).


Se utiliza mucho en el estudio de errores.

Usabana

Omar Andrés Cuervo Fernández Métodos Numéricos


¿Qué es?
Introducción
Algo del lenguaje
Matlab
Consideraciones importantes
Modelación Matemática
Ejercicios

Ficheros

Programamos en Matlab utilizando archivos nombre.m, la cual con-


tiene las ordenes para ser ejecutadas.

Ejemplo: Crear un programa para definir el número e.

Usabana

Omar Andrés Cuervo Fernández Métodos Numéricos


¿Qué es?
Introducción
Algo del lenguaje
Matlab
Consideraciones importantes
Modelación Matemática
Ejercicios

Bucles
Sentencia for

Es un conjunto de operaciones que se va a ejecutar un número


determinado de veces. La cantidad de veces se pueden establecer de
varias formas
1 Sentencia for: La cantidad de veces es controlada por un
contador.
for i=1:n
instrucciones
i=i+1
end

Usabana

Omar Andrés Cuervo Fernández Métodos Numéricos


¿Qué es?
Introducción
Algo del lenguaje
Matlab
Consideraciones importantes
Modelación Matemática
Ejercicios

Bucles
Sentencia if

Es un conjunto de operaciones que se va a ejecutar un número


determinado de veces. La cantidad de veces se pueden establecer de
varias formas
2 Sentencia if: Se ejecuta la operación una vez si se cumple
cierta condición.
if condición
instrucciones si la condición es cierta
else
instrucciones si la condición es falsa
end

Usabana

Omar Andrés Cuervo Fernández Métodos Numéricos


¿Qué es?
Introducción
Algo del lenguaje
Matlab
Consideraciones importantes
Modelación Matemática
Ejercicios

Bucles
Sentencia while

Es un conjunto de operaciones que se va a ejecutar un número


determinado de veces. La cantidad de veces se pueden establecer de
varias formas
3 Sentencia while: Se ejecutan las operaciones hasta que se
cumpla cierta condición.
while condición
instrucciones
end

Usabana

Omar Andrés Cuervo Fernández Métodos Numéricos


¿Qué es?
Introducción
Algo del lenguaje
Matlab
Consideraciones importantes
Modelación Matemática
Ejercicios

Funciones por Defecto

Usabana

Omar Andrés Cuervo Fernández Métodos Numéricos


¿Qué es?
Introducción
Algo del lenguaje
Matlab
Consideraciones importantes
Modelación Matemática
Ejercicios

Creación de Funciones

Función de una entrada y una salida:

function v salida=nombre(v entrada)

Función de varias entradas y varias salidas:


function [y1 , · · · , ym ]=nombre(x1 , · · · , xn )

Usabana

Omar Andrés Cuervo Fernández Métodos Numéricos


¿Qué es?
Introducción
Algo del lenguaje
Matlab
Consideraciones importantes
Modelación Matemática
Ejercicios

Observaciones Generales

1 La función help ofrece la descripción a cualquier función o


comando especı́fico de Matlab. Ej: help log
2 Se debe evitar (cuando sea posible) utilizar bucles y
reemplazar por sentencias vectoriales. Ej: Crear un vector con
los números pares hasta 10000.
3 Definir previamente los vectores que se van a llenar, para
evitar ralentizar el programa. Ej: Definir previamente el vector
del ejemplo anterior.
4 Utilizar el comando clear all al inicio de un programa para
borrar todas las variables que quedaron en memoria.
5 Comentar linea a linea los programas utilizando el sı́mbolo %.
Usabana

Omar Andrés Cuervo Fernández Métodos Numéricos


¿Qué es?
Introducción
Algo del lenguaje
Matlab
Consideraciones importantes
Modelación Matemática
Ejercicios

Ejercicios

1 Generar una matriz aleatoria y determinar su traza.


2 Calcular la suma del cubo de los primeros 10000 números
naturales.

Usabana

Omar Andrés Cuervo Fernández Métodos Numéricos


¿Qué es?
Introducción
Algo del lenguaje
Matlab
Consideraciones importantes
Modelación Matemática
Ejercicios

Otros conceptos importantes

1 Números Complejos. 5 Normas y longitud de un


2 Matrices por bloques. vector.
3 Otras formas para calcular 6 Definir polinomios
la inversa de una matriz.
utilizando vectores.
4 Diagonal y traza de una
matriz. 7 Gráficas en 2D y 3D.

Usabana

Omar Andrés Cuervo Fernández Métodos Numéricos


¿Qué es?
Introducción
Algo del lenguaje
Matlab
Consideraciones importantes
Modelación Matemática
Ejercicios

Ejercicios

1 Con una sentencia iterativa, calcular la suma de los cubos de


los primeros 10000 números naturales y comparar los tiempos
con el ejercicio anterior.
2 Crear una función que calcule el discriminante en el cálculo de
las raices de una función cuadrática. (∆ = b 2 − 4ac)
3 Desarrollar un programa para determinar las raices de un
polinomio de grado 2 (sean reales o complejas).

Usabana

Omar Andrés Cuervo Fernández Métodos Numéricos


Introducción Modelos
Matlab Tipos de errores
Modelación Matemática Cifras significativas decimales

Contenido
1 Introducción
Problemática
Métodos Numéricos
Programa del Curso
2 Matlab
¿Qué es?
Algo del lenguaje
Consideraciones importantes
Ejercicios
3 Modelación Matemática
Modelos
Tipos de errores
Cifras significativas decimales
Usabana

Omar Andrés Cuervo Fernández Métodos Numéricos


Introducción Modelos
Matlab Tipos de errores
Modelación Matemática Cifras significativas decimales

Modelos Matemáticos

El empirismo (repetición) de una técnica, lleva a desarrollar herra-


mientas para describir matemáticamente problemas de caracterı́sti-
cas similares.
Un Modelo matemático se define

V. Dependiente = f (V. Indendientes, Parámetros, Forzantes Externos) .

Esta función puede ser extremadamente compleja.

Usabana

Omar Andrés Cuervo Fernández Métodos Numéricos


Introducción Modelos
Matlab Tipos de errores
Modelación Matemática Cifras significativas decimales

Ejemplo del paracaidista


Planteamiento del problema

Segunda Ley de Newton - Fuerza de resistencia aire


dv c
(t) + v (t) = g ,
dt m
donde c es el coeficiente de resistencia del aire.
Condición inicial: El paracaidista parte del reposo.

Usabana

Omar Andrés Cuervo Fernández Métodos Numéricos


Introducción Modelos
Matlab Tipos de errores
Modelación Matemática Cifras significativas decimales

Ejemplo del paracaidista


Solución analı́tica

Usabana

Omar Andrés Cuervo Fernández Métodos Numéricos


Introducción Modelos
Matlab Tipos de errores
Modelación Matemática Cifras significativas decimales

Ejemplo del paracaidista


Solución analı́tica

mg  c

v (t) = 1 − e− m t .
c
Ejemplo

m = 80 kg,
kg
c = 20 ,
s

Usabana

Omar Andrés Cuervo Fernández Métodos Numéricos


Introducción Modelos
Matlab Tipos de errores
Modelación Matemática Cifras significativas decimales

Ejemplo del paracaidista - Método Numérico


Método de Euler

Recordemos que
dv ∆v
(t) = lı́m
dt ∆t→0 ∆t

dv ∆v v (tf ) − v (ti )
(t) ≈ = .
dt ∆t tf − ti
Entonces
 c 
v (tf ) = v (ti ) + g − v (ti ) (tf − ti ).
m

Usabana

Omar Andrés Cuervo Fernández Métodos Numéricos


Introducción Modelos
Matlab Tipos de errores
Modelación Matemática Cifras significativas decimales

Ejemplo del paracaidista - Método Numérico


Método de Euler

Usabana

Omar Andrés Cuervo Fernández Métodos Numéricos


Introducción Modelos
Matlab Tipos de errores
Modelación Matemática Cifras significativas decimales

Ejemplo del paracaidista - Método Numérico


Resultados

t 0 2 4 6 8 10
S. Analı́tica 0 15.42 24.77 30.45 33.89 35.98
S. Numérica 0 17.15 26.79 32.22 35.27 36.99

Usabana

Omar Andrés Cuervo Fernández Métodos Numéricos


Introducción Modelos
Matlab Tipos de errores
Modelación Matemática Cifras significativas decimales

Trabajo en casa

Tarea
1 Desarrollar una rutina en Matlab que permita obtener los
valores en de la tabla anterior, tomando como valores iniciales
ti = 0, tf = 1 y v (0) = 0. (Ayuda: Desarrolle una rutina
cı́clica donde actualice los valor de ti , tf y v (ti ).)
2 Leer el capı́tulo 2 del libro, enfocandose en la sección 2.5.
(Métodos Numéricos para Ingenieros - Chapra, Canale. 5ta
Edición).

Usabana

Omar Andrés Cuervo Fernández Métodos Numéricos


Introducción Modelos
Matlab Tipos de errores
Modelación Matemática Cifras significativas decimales

Errores

1 Los métodos numéricos proveen una aproximación de la


solución exacta, llamada solución analı́tica (si existe).
2 Toda aproximación posee un error propio al método.
3 Ası́ una solución no exista, se puede estudiar un tipo de error.

Usabana

Omar Andrés Cuervo Fernández Métodos Numéricos


Introducción Modelos
Matlab Tipos de errores
Modelación Matemática Cifras significativas decimales

Tipos de Errores

Existen dos tipos de errores principales


1 Errores de redondeo: Son aquellos dados por cálculos
realizados con números que no son almacenados por la
calculadora.

e = 2,718281828459045235360 · · ·

2 Errores de truncamiento: Dados por los métodos númericos


como métodos de aproximación a soluciones matemáticas
exactas. Ej: Problema del paracaidista.

Usabana

Omar Andrés Cuervo Fernández Métodos Numéricos


Introducción Modelos
Matlab Tipos de errores
Modelación Matemática Cifras significativas decimales

Errores de redondeo
Ejemplos

Insertamos los números 13 y 17 en la lı́nea de comandos de Matlab y


en la calculadora. Comparamos:

Usabana

Omar Andrés Cuervo Fernández Métodos Numéricos


Introducción Modelos
Matlab Tipos de errores
Modelación Matemática Cifras significativas decimales

Errores de redondeo
Números decimales infinitos en el computador

Observaciones
1 El comando format long en Matlab, nos permite observar

15 cifras decimales del número. A la última cifra significativa


se le hace el redondeo.
2 No todo número real se puede representar en el computador.

Los decimales infinitos, se deben redondear (a 15 cifras


decimales). Al número redondeado se le llama notación
flotante del número fl(x).

Ejemplo Determinar en Matlab fl(π).

Usabana

Omar Andrés Cuervo Fernández Métodos Numéricos


Introducción Modelos
Matlab Tipos de errores
Modelación Matemática Cifras significativas decimales

Errores de Redondeo
Error de redondeo

El error de redondeo que se genera al utilizar el número fl(x) en


lugar de x es
|x − fl(x)| M
εredondeo = ≤ , (1)
|x| 2
donde M es el épsilon de la máquina. Escribir el comando eps en
la lı́nea de comandos de Matlab.

Usabana

Omar Andrés Cuervo Fernández Métodos Numéricos


Introducción Modelos
Matlab Tipos de errores
Modelación Matemática Cifras significativas decimales

Errores de Redondeo
Observación Importante

Se debe tener cuidado con la propagación del error de rendon-


deo. En un número muy grande de cálculos, el error se puede
volver significativo.

Usabana

Omar Andrés Cuervo Fernández Métodos Numéricos


Introducción Modelos
Matlab Tipos de errores
Modelación Matemática Cifras significativas decimales

Errores

Definimos los errores dados por las aproximaciones:


1 Si se conoce el valor verdadero

1 Error verdadero: Ev = valor verdadero - valor aproximado.


2 Error relativo porcentual verdadero:

|valor verdadero - valor aproximado|


εv = × 100 %
valor verdadero
2 Si se desconoce el valor verdadero
Error relativo porcentual aproximado:

|aproximación actual - aproximación anterior|


εa = × 100 %
aproximación actual

Usabana

Omar Andrés Cuervo Fernández Métodos Numéricos


Introducción Modelos
Matlab Tipos de errores
Modelación Matemática Cifras significativas decimales

Ejemplo del paracaidista


Ejercicio

Crear una rutina (o hacer en calculadora) para determinar una tabla


del error relativo porcentual verdadero del ejemplo del paracaidista,
con los dos pasos de tiempo.

Usabana

Omar Andrés Cuervo Fernández Métodos Numéricos


Introducción Modelos
Matlab Tipos de errores
Modelación Matemática Cifras significativas decimales

Ejemplo del paracaidista


Resultados

t 0 2 4 6 8 10
S. Analı́tica 0 15.42 24.77 30.45 33.89 35.98
S. Numérica 0 17.15 26.79 32.22 35.27 36.99
E. R. P. Verdadero 0 11.19 8.14 5.81 4.07 2.80

Usabana

Omar Andrés Cuervo Fernández Métodos Numéricos


Introducción Modelos
Matlab Tipos de errores
Modelación Matemática Cifras significativas decimales

Cifras Significativas

Teorema (Scarborough-1966)
Si el error relativo porcentual (verdadero o aproximado) es menor
que el valor de tolerancia εs = (0,5×102−n ) %, entonces el resultado
es correcto en al menos n cifras significativas.

Usabana

Omar Andrés Cuervo Fernández Métodos Numéricos


Introducción Modelos
Matlab Tipos de errores
Modelación Matemática Cifras significativas decimales

Ejercicios

1 Con la serie de Taylor de f (x) = ln(x) alrededor de x = 1,


determinar el número de términos de la serie para aproximar el
valor de ln(2) con 5 cifras significativas.
2 Desarrollar un programa donde se agregue términos de la serie
de Maclaurin de la función f (x) = e x , calculando el valor de
error relativo verdadero hasta que sea menor al 0,01 % de e 4
(leer ejercicio 4.2, página 103 del libro). Repita el ejercicio
para un error relativo aproximado menor a 0,01 %. ¿Cuál
converge más rápido?

Usabana

Omar Andrés Cuervo Fernández Métodos Numéricos

Potrebbero piacerti anche