métodos numéricos 01

35
Parte II. Métodos Numéricos

Upload: nestor-balcazar-a

Post on 25-Jun-2015

34.711 views

Category:

Technology


3 download

DESCRIPTION

Métodos Numéricos 01.

TRANSCRIPT

Page 1: Métodos Numéricos 01

Parte II.Métodos Numéricos

Page 2: Métodos Numéricos 01

1. Modelos matemáticos

Page 3: Métodos Numéricos 01

Un modelo matemático se define como una formulación o unaecuación que expresa las características esenciales de un sistemafísico o de un proceso en términos matemáticos. En general:

( ) ( ) ( )⎥⎥⎦

⎢⎢⎣

⎡=⎟⎟

⎞⎜⎜⎝

⎛fuerza de FuncionesParámetros

ntesindependieVariables

edependientVariable , ,

f

Page 4: Métodos Numéricos 01

Caída libre de un objeto

FU Aplicando la segunda ley de Newton:

F = m·a → a = F / m

Sustituyendo:

mF

dtdv

=

La fuerza neta está dada por:F = FD + FUFD

Page 5: Métodos Numéricos 01

FD = mgFU = -cvCombinando las ecuaciones, se obtiene:

Condicione inicial: v(0) = 0 m/sResolviendo la ecuación diferencial:

v(t) = ( 1-e )

vmcg

dtdv

−=

g·mc

-(c/m)·t

Page 6: Métodos Numéricos 01

Los métodos numéricos nos permiten resolver la ecuación diferencial mediante operaciones aritméticas:

∆v∆t =

v(t i+1) - v(t i) t i+1 - t i

dvdt

Pendiente aproximada

Pendiente verdadera

t i+1t i

v(t i+1)

v(t i)

∆v

∆t

Page 7: Métodos Numéricos 01

Aproximando la primera derivada:

Reordenando:

v(t i+1) = v(ti) + [g - v(ti) ](t i+1 – ti)

Esta aproximación se conoce formalmente como método de Euler:

Valor nuevo = Valor anterior + pendiente x tamaño de paso

v(t i+1) - v(t i) t i+1 - t i≈dv

dt∆v∆t = [g - v(t i)] (t i+1 - t i )

cm=

cm

Page 8: Métodos Numéricos 01

2. Programación y Software

Page 9: Métodos Numéricos 01

Diagramas de Flujo

Flujo de la lógica del algoritmoLíneas de flujo

IteracionesCiclo de cuenta

InterrupciónFin de página

Confluencia de líneas de flujoUnión

Comparación, pregunta o decisiónDecisión

Entrada o salida de datosEntrada/Salida

Cálculos o manipulación de datosProceso

Inicio o final de un programaTerminal

FUNCIÓNNOMBRESÍMBOLO

Page 10: Métodos Numéricos 01

Secuencia

Instrucción 1

Instrucción 1Instrucción 2Instrucción 3Instrucción 4

Instrucción 2

Instrucción 3

Instrucción 4

a. Diagrama de flujo b. Pseudocódigo

Page 11: Métodos Numéricos 01

Selección

Condición?

Bloque verdadero

VerdaderoIF condición THEN

Bloque verdaderoENDIF

a. Diagrama de flujo b. Pseudocódigo

Page 12: Métodos Numéricos 01

Condición?

Bloque verdadero

Verdadero

Bloque falso

FalsoIF condición THEN

Bloque verdaderoELSE

Bloque falsoENDIF

a. Diagrama de flujo b. Pseudocódigo

Page 13: Métodos Numéricos 01

Condición 1?

Bloque 1

VerdaderoFalso

Condición 2?

Bloque 2Bloque 3

IF condición1 THENBloque1

ELSEIF condicion2Bloque2

ELSEBloque3

ENDIF

VerdaderoFalso

a. Diagrama de flujo b. Pseudocódigo

Page 14: Métodos Numéricos 01

Expresiónde prueba

Bloque 1 Bloque 2 Bloque 3

SELECT CASE Expr. de pruebaCASE Valor1

Bloque1CASE Valor2

Bloque2CASE ELSE

Bloque3END SELECT

Valor1 Valor2 Otro

a. Diagrama de flujo b. Pseudocódigo

Page 15: Métodos Numéricos 01

Repetición

Condición?

Bloque 1

Bloque 2

Verdadero

Falso

DO Bloque1IF Condición EXITBloque2

ENDDO

a. Diagrama de flujo b. Pseudocódigo

Page 16: Métodos Numéricos 01

i = inicio

i=i + incr

i > fin?

Bloque

Falso

Verdadero

DO i=inicio,fin,incrementoBloque

ENDDO

a. Diagrama de flujo b. Pseudocódigo

Page 17: Métodos Numéricos 01

EXCEL + VBA

IF / THENIF / THEN

IF condicion THENBloque verdadero

ENDIF

If b < > 0 Thenr1 = -c/b

End If

IF / THEN / ELSEIF / THEN / ELSE

IF condicion THENBloque verdadero

ELSEBloque falso

ENDIF

If a < 0 Thenb = Sqr(Abs(a))

Elseb = Sqr(a)

End If

MATLAB

Page 18: Métodos Numéricos 01

EXCEL + VBA MATLAB

IF / THEN / ELSEIFIF / THEN / ELSEIF

IF condicion1 THENBloque1

ELSEIF condicion2Bloque2

ELSEBloque3

ENDIF

If class = 1 Thenx = x+8

ElseIf class < 1 Thenx = x-8

Elsex = x-64

End If

Page 19: Métodos Numéricos 01

EXCEL + VBA MATLABCASECASESELECT CASE Expresión de prueba

CASE Valor1Bloque1

CASE Valor2Bloque2

CASE ELSEBloque2

END SELECT

Select Case a+bCase Is < -50

x = -5Case Is < 0

x = -5Case Else

x = 5End Select

Page 20: Métodos Numéricos 01

MATLABEXCEL + VBADOEXITDOEXITDO

Bloque1IF Condición EXITBloque2

ENDDO

Doi = i+1If i >= 10 Then Exit Doj = i*x

LoopDOFORDOFORDOFOR i=inicio,fin,incremento

BloqueENDDO

For i=1 To 10 Step 2x = x+i

Next i

Page 21: Métodos Numéricos 01

EXCEL + VBA MATLABIF / THENIF / THENIF condicion THEN

Bloque verdaderoENDIF

if b ~= 0 r1 = -c/b;

end

IF / THEN / ELSEIF / THEN / ELSEIF condicion THEN

Bloque verdaderoELSE

Bloque falsoENDIF

if a < 0b = sqr(abs(a));

elseb = sqr(a);

end

Page 22: Métodos Numéricos 01

EXCEL + VBA MATLABIF / THEN / ELSEIFIF / THEN / ELSEIFIF condicion1 THEN

Bloque1ELSEIF condicion2

Bloque2 ELSE

Bloque3 ENDIF

if class = =1 x = x+8;

elseif class < 1 x = x-8;

elsex = x-64;

end

Page 23: Métodos Numéricos 01

EXCEL + VBA MATLABCASECASESELECT CASE Expresión de prueba

CASE Valor1Bloque1

CASE Valor2Bloque2

CASE ELSEBloque2

END SELECT

Switch a+bcase 1

x = -5;case 2

x = -5 + (a+b)/10;case Else

x = 5;end

Page 24: Métodos Numéricos 01

EXCEL + VBA MATLAB

DOEXITDOEXITDO

Bloque1IF Condición EXITBloque2

ENDDO

while (1)i = i+1;If i >= 10, break, endj = i*x;

endDOFORDOFORDOFOR i=inicio,fin,incremento

BloqueENDDO

for i=1 : 2 : 10x = x+i;

end

Page 25: Métodos Numéricos 01

Problemas adicionales

Page 26: Métodos Numéricos 01
Page 27: Métodos Numéricos 01

3. Aproximaciones y errores de redondeo

Page 28: Métodos Numéricos 01

Cifras significativas

Las cifras significativas de un número son aquellas que puedenutilizarse de forma confiable. Se trata del número de dígitos quepueden utilizarse con certeza, más uno estimado.

Page 29: Métodos Numéricos 01

Exactitud y precisión

Aumenta la exactitudA

umen

ta la

pre

cisi

ón

Valor verdadero

Valor calculado o medido

(a)

(c)

(b)

(d)

Page 30: Métodos Numéricos 01

Definiciones de error

Error verdadero

Et = Valor verdadero – valor aproximado

Error relativo fraccional verdadero

εt = Error verdaderoValor verdadero

Page 31: Métodos Numéricos 01

Ejercicio. Cálculo de erroresSuponga que se tiene que medir la longitud de un puente y la de unremache, y se obtiene 4099 y 4.9 cm, respectivamente. Si los valoresverdaderos son 5000 y 5 cm respectivamente, calcule a. El error verdaderob. El error relativo porcentual verdadero en cada caso.

Page 32: Métodos Numéricos 01

Error aproximado

Ea = Aproximación actual – Aproximación anterior

Error relativo fraccional aproximado

εa = Error aproximadoAproximación actual

Page 33: Métodos Numéricos 01

A menudo no interesa el signo del error, sino mas bien que su valorabsoluto porcentual sea menor que una tolerancia porcentual prefijadaεs. En tales casos, los cálculos se repiten hasta que

| εa |< εs

Si se cumple con el siguiente criterio, se tendrá la seguridad de que elresultado es correcto en al menos n cifras significativas,

εs = (0.5 x 102-n) %

Page 34: Métodos Numéricos 01

Ejercicio. Estimación del error con métodos iterativosLa función exponencial se calcula utilizando la serie,

Así cuántos más términos se le agreguen a la serie, la aproximaciónserá cada vez una mejor estimación del valor verdadero de ex. Empezando con el primer término ex = 1 y agregando término portérmino, calcule los errores: relativo porcentual verdadero ynormalizado a un valor aproximado. Estimar el valor de e0.5, hasta queel valor absoluto del error aproximado sea menor que un criterio deerror preestablecido con tres cifras significativas.

!nx...

!3x

!2xx1e

n32x +++++=

Page 35: Métodos Numéricos 01

Errores de redondeo

Error originado por la omisión de cifras significativas de unvalor numérico.

Por ejemplo,πestimado = 3.1416πexacto = 3.1415926535….

Error de redondeo = | πestimado - πexacto |