You are on page 1of 22

FACULTAD DE CIENCIAS EXACTAS Y

TECNOLOGIA

Por
M. Sc. Rodolfo Arana Gonzales

Santa Cruz de la Sierra


2018
MAT205 METODOS NUMERICOS M. Sc. Rodolfo E. Arana G.

CIFRAS SIGNIFICATIVAS
Es la cantidad de cifras que se pueden utilizar con seguridad
o en forma confiable.
Se calcula como el número de cifras seguras más una cifra
con incertidubre.
Ver ejemplos
EXACTITUD Y PRECISIÓN
La exactitud se refiere a que tan cercano está un valor
calculado (o medido) respecto del “valor verdadero”.
La precisión se refiere a que tan cercanos estan entre si los
distintos valores calculados(o medidos).
Ver ilustracion
Ver video de ExPre
ERRORES Y TIPOS DE ERRORES
Un error es la incertidumbre en el resultado de una medida.
Puede deberse a la precisión del instrumento, a la persona
que mide, o al método de medición.
Error absoluto (o error verdadero Et)

Página 1
MAT205 METODOS NUMERICOS M. Sc. Rodolfo E. Arana G.

𝐸𝑡 = |𝑣𝑎𝑙𝑜𝑟 𝑣𝑒𝑟𝑑𝑎𝑑𝑒𝑟𝑜 − 𝑣𝑎𝑙𝑜𝑟 𝑎𝑝𝑟𝑜𝑥𝑖𝑚𝑎𝑑𝑜|


Error relativo fraccional
𝑒𝑟𝑟𝑜𝑟 𝑣𝑒𝑟𝑑𝑎𝑑𝑒𝑟𝑜
𝐸𝑟 =
𝑣𝑎𝑙𝑜𝑟 𝑣𝑒𝑟𝑑𝑎𝑑𝑒𝑟𝑜
Error relativo porcentual
𝑒𝑟𝑟𝑜𝑟 𝑣𝑒𝑟𝑑𝑎𝑑𝑒𝑟𝑜
𝜀𝑟 = × 100
𝑣𝑎𝑙𝑜𝑟 𝑣𝑒𝑟𝑑𝑎𝑑𝑒𝑟𝑜
Dado que error verdadero requiere de valor verdadero (que
normalmente no se conoce), entonces la expresión para εr se
sustiruye por εa que significa error relativo aproximado y
está dada por:
𝑒𝑟𝑟𝑜𝑟 𝑎𝑝𝑟𝑜𝑥𝑖𝑚𝑎𝑑𝑜
𝜀𝑎 = × 100
𝑣𝑎𝑙𝑜𝑟 𝑎𝑝𝑟𝑜𝑥𝑖𝑚𝑎𝑑𝑜
Es decir:
Error relativo aproximado

𝑎𝑝𝑟𝑜𝑥𝑖𝑚𝑎𝑐𝑖ó𝑛 𝑎𝑐𝑡𝑢𝑎𝑙 − 𝑎𝑝𝑟𝑜𝑥𝑖𝑚𝑎𝑐𝑖ó𝑛 𝑎𝑛𝑡𝑒𝑟𝑖𝑜𝑟


𝜀𝑎 = | × 100|
𝑎𝑝𝑟𝑜𝑥𝑖𝑚𝑎𝑐𝑖ó𝑛 𝑎𝑐𝑡𝑢𝑎𝑙

En el proceso de cálculo εa se toma en valor absoluto y se lo


compara con una tolerancia o error aceptable previamente
fijado εs. Por tanto, en la práctica, los cálculos se repiten
hasta que:

|𝜺𝒂 | < 𝜺𝒔

Página 2
MAT205 METODOS NUMERICOS M. Sc. Rodolfo E. Arana G.

ERRORES DE REDONDEO Y TRUNCAMIENTO


Desde el punto de vista del uso de una computadora, estos
errores se pueden definir de la siguiente manera.
El redondeo está referido a la definición de la cantidad de
cifras significativas de un número. El redondeo puede ser
por defecto o por exceso.
El truncamiento se refiere a la capacidad de representación
de una cantidad de real que tiene una computadora.
En el caso de la aproximación de funciones por medio de la
serie de Taylor, el error de truncamiento se refiere al resto
de términos de la serie que no se toma en cuenta en la
aproximación de la función.

SERIE DE TAYLOR

Página 3
MAT205 METODOS NUMERICOS M. Sc. Rodolfo E. Arana G.

Ver video SeTay

Error de truncamiento en funciones


Se trata del truncamiento de términos que hace la serie de
Taylor en la aproximación de funciones trascendentes. Este
error viene dado por la siguiente fórmula:

Ver video ErrTay


EJEMPLOS SOBRE CIFRAS SIGNIFICATIVAS

Página 4
MAT205 METODOS NUMERICOS M. Sc. Rodolfo E. Arana G.

Página 5
MAT205 METODOS NUMERICOS M. Sc. Rodolfo E. Arana G.

PRECISIÓN Y EXACTITUD

Página 6
MAT205 METODOS NUMERICOS M. Sc. Rodolfo E. Arana G.

Introducción
Encontrar las raices (o soluciones) de una ecuación significa
determinar los valores que hacen cero a la ecuación, es
decir; hallar los puntos sobre el eje X donde la gráfica de la
ecuación “corta” a este eje.

Página 7
MAT205 METODOS NUMERICOS M. Sc. Rodolfo E. Arana G.

Métodos abiertos
Método gráfico

Ver programa metodo gráfico


Método de la bisección
En general, si f(x) es real y continua en el intervalo [xl, xu] y
f(xl) y f(xu) tienen signos opuestos; esto es:
f(xl) f(xu) < 0
Entonces hay al menos una raiz real entre xl y xu. Esto
significa que la función cambia de signo en ese intervalo.

Página 8
MAT205 METODOS NUMERICOS M. Sc. Rodolfo E. Arana G.

El método de la bisección consiste en dividir el intervalo en


dos partes para determinar un punto medio (xr) y evaluar la
función en ese punto.

𝒙𝒍 − 𝒙 𝒖
𝒙𝒓 =
𝟐

Algoritmo de bisección

Página 9
MAT205 METODOS NUMERICOS M. Sc. Rodolfo E. Arana G.

Programa Biseccion

float biseccion(float xl, float xu, float es, int imax, TListBox *lista)
{
float ea, xr, xa;
int iter=0;
lista->Clear();
lista->Items->Add(" iter xl xu xr ea");
lista->Items->Add("======================================");
xa = xr;
do {
xr = (xl+xu)/2; // formula de la Biseccion
lista->Items->Add(IntToStr(iter) + " " +
FormatFloat(",0.000000", xl) + " " +
FormatFloat(",0.000000", xu) + " " +
FormatFloat(",0.000000", xr) + " " +
FormatFloat(",0.000000", ea));
if ((f(xl)*f(xr)) < 0)
xu = xr;
else
xl = xr;
iter++;
ea = (xr-xa)/xr*100;
xa = xr;
} while (( fabs(ea) > es ) && (iter < imax));
return xr;
}

Página 10
MAT205 METODOS NUMERICOS M. Sc. Rodolfo E. Arana G.

Método de la Regla Falsa

Utilizando triángulos semejantes entre los triángulos


sombreados, tenemos la siguiente relación:
𝒇(𝒙𝒍 ) 𝒇(𝒙𝒖 )
=
𝒙𝒓 − 𝒙𝒍 𝒙𝒓 − 𝒙𝒖
de esta relación se obtiene la fórmula de la regla falsa:

𝒇(𝒙𝒖 )(𝒙𝒍 − 𝒙𝒖 )
𝒙𝒓 = 𝒙𝒖 −
𝒇(𝒙𝒍 ) − 𝒇(𝒙𝒖 )

Página 11
MAT205 METODOS NUMERICOS M. Sc. Rodolfo E. Arana G.

Algoritmo Regla Falsa


El algoritmo para el método de la regla falsa es similar al de
la bisección.
Programa Regla Falsa

float reglaFalsa(float xl, float xu, float es, int imax, TRichEdit *rich)
{
float ea, xr, xa;
int iter=0;
rich->Clear();
rich->Lines->Add("iter xl xu xr ea");
rich->Lines->Add("=====================================");
xa = xu;
do {
xr = xu - (f(xu)*(xl-xu))/ (f(xl)-f(xu)); // formula de la Regla Falsa
rich->Lines->Add(IntToStr(iter) + " " +
FormatFloat(",0.000000", xl) + " "+
FormatFloat(",0.000000", xu)+ " "+
FormatFloat(",0.000000", xr) + " " +
FormatFloat(",0.000000", ea));
if ((f(xl)*f(xr)) < 0)
xu = xr;
else
if ((f(xl)*f(xr)) > 0)
xl = xr;
else
ea = 0;
ea = (xr-xa)/xr*100;
xa = xr;
iter++;
} while ((fabs(ea) > es) && (iter < imax));
return xr;
}

Página 12
MAT205 METODOS NUMERICOS M. Sc. Rodolfo E. Arana G.

MÉTODOS ABIERTOS
Se denominan métodos abiertos porque no requieren un
intervalo para buscar la raiz. En su lugar utilizan un valor xo
que puede ser cualquier valor.
Método Iteración de punto fijo
Este método consiste en obtener una fórmula iterativa a
partir de la función original f(x), tal que:
x = g(x)
donde g(x) es el lado derecho del “despeje” de la función
original f(x) . Se toma un punto fijo original x0, a partir del
cual se itera.

𝒙𝒊+𝟏 = 𝒈(𝒙𝒊 )

Por ejemplo, el valor inicial x0 se puede definir tomado un


punto medio entre dos valores donde se supone está la raiz
(puede usarse un gráfico).
Las condiciones necesarias son:
 La función g(x) debe ser continua en el entorno de x0
 Debe ser derivable en x0.
 Debe cumplirse que -1 ≤ g’(x0) ≤ 1
Video youTube https://youtu.be/5sUWIOh4-Po

Página 13
MAT205 METODOS NUMERICOS M. Sc. Rodolfo E. Arana G.

Programa de Iteración de punto fijo

float puntoFijo(float x0, float es, int imax, TListBox *lista)


{
float ea=0, xi, xa;

int iter=0;
lista->Clear();
lista->Items->Add(" i xi Ea");
lista->Items->Add("=================");
lista->Items->Add(IntToStr(iter) + " " +
FormatFloat(",0.0000", x0) + " " +
FormatFloat(",0.0000", ea));
xa = x0;
xi = x0;
do {
xi = g(xi); // formula del punto fijo
lista->Items->Add(IntToStr(iter) + " " +
FormatFloat(",0.0000", xi) + " " +
FormatFloat(",0.0000", ea));
ea = (xi-xa)/xi*100;
xa = xi;
iter++;
} while ((fabs(ea) > es) && (iter < imax));
return xi;
}

Página 14
MAT205 METODOS NUMERICOS M. Sc. Rodolfo E. Arana G.

Método de la secante

Consideremos la recta secante que pasa por los puntos


(xi, f(xi)) y (xi-1, f(xi-1),
cuya ecuación está dada por la fórmula:
(𝑦 − 𝑦𝑖 ) = 𝑚(𝑥 − 𝑥𝑖 )
Donde m es la pendiente de la recta entre los puntos dados,
cuyo valor es:
𝑓 (𝑥𝑖−1 ) − 𝑓 (𝑥𝑖 )
𝑚=
𝑥𝑖−1 − 𝑥𝑖
Si consideramos que cuando la recta corta al eje, tenemos
una nueva aproximación xi+1 , luego y vale cero.
Reemplazamos m en la ecuación orginal y tomamos a xi+1
como una nueva aproximación. Finalmente despejamos xi+1

Página 15
MAT205 METODOS NUMERICOS M. Sc. Rodolfo E. Arana G.

La fórmula queda así:

𝒇(𝒙𝒊 ) (𝒙𝒊−𝟏 − 𝒙𝒊 )
𝒙𝒊+𝟏 = 𝒙𝒊 −
𝒇(𝒙𝒊−𝟏) − 𝒇(𝒙𝒊 )

El algoritmo para este método es similar al del punto fijo


Programa de método de la secante

float secante(float x0, float x1, float es, int imax, TRichEdit *lista)
{
float ea=1, x2;
int iter=0;

lista->Clear();
lista->Lines->Add(" iter x0 x1 x2 ea");
lista->Lines->Add("==================================");
do {
x2 = x1 -(f(x1)*(x0-x1))/(f(x0)-f(x1)); // formula de la secante
if (x2 != 0) ea = (x2-x1)/x2 *100;
lista->Lines->Add(IntToStr(iter) + " "+
FormatFloat(",0.000000", x0) + " " +
FormatFloat(",0.000000", x1) + " "+
FormatFloat(",0.000000", x2) + " " +
FormatFloat(",0.000000", ea));
x0 = x1;
x1 = x2;
iter++;
} while ((fabs(ea) > es) && (iter < imax));
return x2;
}

Página 16
MAT205 METODOS NUMERICOS M. Sc. Rodolfo E. Arana G.

Página 17
MAT205 METODOS NUMERICOS M. Sc. Rodolfo E. Arana G.

Método de Newton-Raphson
El método de Newton-Raphson se deduce a partir de la
siguiente interpretación geométrica (un método alternativo
está basado en la serie de Taylor).

De la figura, se tiene que la primera derivada en x es


equivalente a la pendiente:
𝒇(𝒙𝒊 ) − 𝟎
𝒇′(𝒙𝒊 ) =
𝒙𝒊 − 𝒙𝒊+𝟏
de donde se obtiene la fórmula iterativa:

𝒇(𝒙𝒊 )
𝒙𝒊+𝟏 = 𝒙𝒊 −
𝒇′(𝒙𝒊 )

Página 18
MAT205 METODOS NUMERICOS M. Sc. Rodolfo E. Arana G.

Algoritmo de Newton

FUNCION Newton(x0, es, imax)


xi  x0
iter  0
HACER
xant  xi
xi  xi – f(xi)/df(xi)
iter  iter + 1
SI xi ≠ 0 ENTONCES
ea =(xi– xant) / xi * 100
FIN SI
SI ea < es O iter ≥ imax SALIR
FIN HACER
RETORNAR xi
FIN FUNCION

Página 19
MAT205 METODOS NUMERICOS M. Sc. Rodolfo E. Arana G.

Programa de Newton-Raphson

float newton(float x0, float es, int imax, TRichEdit *rich)


{
float ea, xi, xant;
int iter;
xi = x0;
iter = 0;
rich->Clear();
rich->Lines->Add("iter xi-1 xi ea");
rich->Lines->Add("=============================");
do {
xant = xi;
xi = xi - f(xi)/df(xi); // formula de Newton
iter = iter + 1;
if (xi != 0) ea = fabs((xi-xant)/xi) *100;
rich->Lines->Add(IntToStr(iter) + " " +
FormatFloat("###,##0.00000", xant) +" " +
FormatFloat("###,##0.00000", xi) + " " +
FormatFloat("###,##0.00000", ea));
}
while (!((ea < es) || (iter > imax)));
return xi;
}

Página 20
MAT205 METODOS NUMERICOS M. Sc. Rodolfo E. Arana G.

Referencias

1. Chapra, Steven y Canale, Raymond. Métodos Numérios para Ingenieros. Mc


Grw-Hill.
2. Nakamura, Shoichiro. Métodos Numéricos Aplicados con Software. Prentice-
Hall.

Página 21

You might also like