Está en la página 1de 7

Mtodos Numricos

18 de febrero de 2010
Unidad I
1. Introduccin:
1.1 La importancia de los mtodos numricos
En muchas ocasiones se nos presentan problemas matemticos que no pueden ser
resueltos aplicando las matemticas.
En mtodos numricos se puede obtener alguna solucin aproximada de dichos
problemas y debido a ellos estamos cometiendo un error el cual lo podemos definir
para calculo manual y computacional.
Manual

103 = 0.001

Computacional

10-6 = 0.000001

Error

Error = Valor Exacto Valor Calculado o Aproximado.


Error por truncamiento
2.321621 + 3.441722 = 5.763343 5.7633
Error por redondeo
1.437528 + 3.347561 4.7851
2. Unidad II
2.1 Solucin de ecuaciones algebraicas
Una ecuacin algebraica est formada por constantes numricas y variables enlazadas
por operadores aritmticos las cuales deben ser igualadas a cero.
Ecuacin = 0
f(x)
2x2-5 = 0
f(x) = 2x2-5

Antonio Acosta Murillo

Pgina 1

Ing. Sistemas Computacionales

Mtodos Numricos
18 de febrero de 2010
2.2 Solucin o raz de una ecuacin
2x2-5 = 0
2x2 = 5
X2 = 5/2
x = (5/2)1/2

(2.5)

x1 = 1.5811
x2 = -1.5811
2.3 Mtodo de la biseccin
El mtodo consiste en seleccionar dos valores para x1, donde la funcin sea positiva y
otro valor donde x sea negativo a la inversa.
Ejemplo:
Calcular una raz de 2x2 5 = 0 aplicando el mtodo de la biseccin.
f(x) = 2x2 5 = 0

N
1
2
3
4
5
6
7
8
9
10

Xa
1.0000
1.5000
1.5000
1.5000
1.5625
1.5625
1.5782
1.5782
1.5782
1.5802

Antonio Acosta Murillo

f(Xa)
-3.0000
-0.5000
-0.5000
-0.5000
-0.1172
-0.1172
-0.0186
-0.0186
-0.0186
-0.0059

Xb
2.0000
2.0000
1.7500
1.6500
1.6250
1.5938
1.6938
1.5860
1.5821
1.5821

Pgina 2

f(Xb)
3.0000
3.0000
1.1250
0.2813
0.2813
0.0804
0.0804
0.0308
0.0061
0.0061

Xmedia
1.5000
1.7500
1.6250
1.5625
1.5938
1.5782
1.5860
1.5821
1.5802
1.5812

f(xMedia)
-0.5000
1.1250
0.2813
-0.1172
0.0804
-0.0186
0.0308
0.0061
-0.0059
0.0004

Ing. Sistemas Computacionales

Mtodos Numricos
18 de febrero de 2010
Cdigo Mtodo Biseccin

// Assumption: One of f(a) and f(b) is 0 and the other is 0


if f(a) <= 0 then
lo := a; hi := b
else
lo := b; hi := a
endif
mid := lo + (hi-lo)/2
while (mid lo) and (mid hi) do
if f(mid) 0 then
lo := mid
else
hi := mid
endif
mid := lo + (hi-lo)/2
endwhile
return mid

2.4 Mtodo secante

Calcular una raz de 2x3 3x -4 = 0 aplicando el mtodo de la secante:


f(x) = 2x3 3x -4 = 0

N
1
2
3
4
5

Xi
1.0000
2.0000
1.4545
1.6013
1.6650

Antonio Acosta Murillo

f(Xi)
-5.0000
-2.2093
-2.2093
-0.5919
0.1012

Xf
2.0000
1.4545
1.6013
1.6650
1.6472

Pgina 3

f(Xf)
6.0000
-2.2093
-0.5919
0.1012
-0.0030

Xc
1.4545
1.6013
1.6550
1.6472
1.6474

f(Xc)
-2.2093
-0.5919
0.1012
-0.0030
0.0004

Ing. Sistemas Computacionales

Mtodos Numricos
18 de febrero de 2010
Cdigo Mtodo secante

double f(double x)
{
return cos(x) - x*x*x;
}
double SecantMethod(double xn_1, double xn, double e, int m)
{
int n;
double d;
for (n = 1; n <= m; n++)
{
d = (xn - xn_1) / (f(xn) - f(xn_1)) * f(xn);
if (fabs(d) < e)
return xn;
xn_1 = xn;
xn = xn - d;
}
return xn;
}
int main(void)
{
printf("%0.15f\n", SecantMethod(0, 1, 5E-11, 100));
return 0;
}

Antonio Acosta Murillo

Pgina 4

Ing. Sistemas Computacionales

Mtodos Numricos
18 de febrero de 2010

2.5 Mtodo Newton Rapshon


Es uno de los mtodos mas usados, su nica dificultad es el clculo de la derivada y se
puede obtener de la siguiente manera:

Calcular una raz de 2x3 3x -4 = 0 aplicando el mtodo de Newton-Rapshon:


f(x) = 2x3 3x -4 = 0

N
1
2
3
4
5

Xn
1.0000
2.6667
2.0131
1.7186
1.6509

Antonio Acosta Murillo

f(Xn)
-5.0000
25.9272
6.2772
0.9963
0.0463

f'(Xn)
3.0000
39.6677
21.3154
14.7215
13.3528

Pgina 5

Xn + 1
2.6667
2.0131
1.7186
1.6509
1.6474

f(Xn + 1)
25.9272
6.2772
0.9963
0.0463
-0.0004

Ing. Sistemas Computacionales

Mtodos Numricos
18 de febrero de 2010

Algoritmo Newton-Rapshon

class Newton

static double f(double x) {


return Math.sin(x);
}
static double fprime(double x) {
return Math.cos(x);
}
public static void main(String argv[]) {
double tolerance = .000000001; // Our approximation of zero
int max_count = 200; // Maximum number of Newton's method
iterations
/* x is our current guess. If no command line guess is given,
we take 0 as our starting point. */
double x = 0;
if(argv.length==1) {
x= Double.valueOf(argv[0]).doubleValue();
}
for( int count=1;
(Math.abs(f(x)) > tolerance) && ( count < max_count);
count ++) {
x= x - f(x)/fprime(x);
System.out.println("Step: "+count+" x:"+x+" Value:"+f(x));
}
if( Math.abs(f(x)) <= tolerance) {
System.out.println("Zero found at x="+x);
}
else {
System.out.println("Failed to find a zero");
}
}

Antonio Acosta Murillo

Pgina 6

Ing. Sistemas Computacionales

Mtodos Numricos
18 de febrero de 2010
2.6 Mtodo Modificado de Newton
Resolver la siguiente ecuacin 3x-5cos2x-1 aplicando el mtodo
modificado de Newton.

f(X) = 3x-5cos2x-1
N
1
2

Xn
1.0000
0.6977

Antonio Acosta Murillo

f(Xn)
4.0807
0.2206

f'(Xn)
12.0930
12.8466

Pgina 7

f''(Xn)
-8.3229
3.4900

xn + 1
0.6977
0.6805

f(Xn+1)
0.2206
0.0002

Ing. Sistemas Computacionales

También podría gustarte