Métodos Numéricos 01

Preview:

DESCRIPTION

Métodos Numéricos 01.

Citation preview

Parte II.Métodos Numéricos

1. Modelos matemáticos

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

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

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

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

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

2. Programación y Software

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

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

Selección

Condición?

Bloque verdadero

VerdaderoIF condición THEN

Bloque verdaderoENDIF

a. Diagrama de flujo b. Pseudocódigo

Condición?

Bloque verdadero

Verdadero

Bloque falso

FalsoIF condición THEN

Bloque verdaderoELSE

Bloque falsoENDIF

a. Diagrama de flujo b. Pseudocódigo

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

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

Repetición

Condición?

Bloque 1

Bloque 2

Verdadero

Falso

DO Bloque1IF Condición EXITBloque2

ENDDO

a. Diagrama de flujo b. Pseudocódigo

i = inicio

i=i + incr

i > fin?

Bloque

Falso

Verdadero

DO i=inicio,fin,incrementoBloque

ENDDO

a. Diagrama de flujo b. Pseudocódigo

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

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

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

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

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

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

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

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

Problemas adicionales

3. Aproximaciones y errores de redondeo

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.

Exactitud y precisión

Aumenta la exactitudA

umen

ta la

pre

cisi

ón

Valor verdadero

Valor calculado o medido

(a)

(c)

(b)

(d)

Definiciones de error

Error verdadero

Et = Valor verdadero – valor aproximado

Error relativo fraccional verdadero

εt = Error verdaderoValor verdadero

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.

Error aproximado

Ea = Aproximación actual – Aproximación anterior

Error relativo fraccional aproximado

εa = Error aproximadoAproximación actual

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

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 +++++=

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 |

Recommended