Está en la página 1de 11

Apuntes de metodos numericos

2
o
de I.T.I.S.
Alexandre Gonzalez Rodrguez
http://alex.rianxosencabos.com

Indice general
1. Metodos de regresion 2
1.1. Regresion lineal . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2. Regresion polinomial . . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Metodos de interpolacion 3
2.1. Newton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2. Lagrance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3. Metodos de integracion 5
3.1. Metodo del trapecio . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.2. Metodo del trapecio con segmentos m ultiples . . . . . . . . . . . 5
3.3. Simpson
1
3
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.4. Simpson
1
3
con segmentos m ultiples . . . . . . . . . . . . . . . . . 6
3.5. Simpson
3
8
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.6. Simpson
3
8
con segmentos m ultiples . . . . . . . . . . . . . . . . . 6
4. Metodos de resolucion de ecuaciones lineales o metodos de
calculo de races 7
4.1. Cerrados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
4.1.1. Metodo de la biseccion . . . . . . . . . . . . . . . . . . . . 7
4.1.2. Metodo de la regla falsa . . . . . . . . . . . . . . . . . . . 8
4.2. Metodos abiertos . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
4.2.1. Newton-Raphson . . . . . . . . . . . . . . . . . . . . . . . 8
4.2.2. Metodo de la secante . . . . . . . . . . . . . . . . . . . . . 8
1
Resumen
Con los metodos numericos intentaremos acortar el rango de error que con los
metodos analticos es mucho mayor.
Seccion 1
Metodos de regresion
1.1. Regresion lineal
Nos dan unos puntos y nuestra mision es calcular una recta que se aproxime
lo maximo a todos estos puntos.
a
0
= y a
1
x
a
1
=
n

(x
i
y
i
) (

x
i

y
i
)
n

(x
i
2
)

(x
i
)
2
)
1.2. Regresion polinomial
A partir de unos puntos queremos trazar una lnea que se aproxime a todos
ellos.
a
0
n + a
1

x
i
+ a
2

x
i
2
+ a
3

x
i
3
+ . . . + a
n

x
i
n
=

(y
i
x
i
0
..
1
)
Aumentamos un grado la ecuacion:
a
0

x
i
+ a
1

x
i
2
+ a
2

x
i
3
+ . . . + a
n

x
i
n+1
=

(y
i
x
i
1
)
.
.
.
a
0

x
i
n
+ a
1

x
i
n+1
+ a
2

x
i
n+2
+ . . . + a
n

x
i
2n
=

(y
i
x
i
n
)
NOTA: El grado del polinomio siempre sera el n umero de puntos menos 1.
Cuando se utiliza regresion lineal y cuando po-
linomial?
Utilizaremos regresion lineal cuandos lo puntos dados sean dispersos. Es decir
no lleven una estructura ascendente ni descendente. Utilizaremos la polinomial
cuando si la lleven.
2
Seccion 2
Metodos de interpolacion
Consigue lo que no consigue la regresion. Partes de unos datos concretos y
puede calcularunos nuevos de forma exacta.
2.1. Newton
f
n
(x) =
n

i=0
a
i
i1

j=0
(x x
j
)
f
n
(x) = a
0
+a
1
(xx
0
)+a
2
(xx
0
)(xx
1
)+. . .+a
n
(xx
0
)(xx
1
) . . . (xx
n1
)
a
0
= f(x
0
)
a
1
= f[x
1
, x
0
] =
f(x
1
) f(x
0
)
x
1
x
0
a
2
= f[x
2
, x
1
, x
0
] =
_
f(x
2
)f(x
1
)
x
2
x
1
__
f(x
1
)f(x
0
)
x
1
x
0
_
f(x
2
) f(x
0
)
Algoritmo de Newton implementado en C
1 #include <stdio.h>
2 #define long_matrix 100
3
4 int introduce(float px[],float py[]){
5 int n,i;
6 printf("\n...
7
8 --- INTRODUCIR DATOS ---
9 }
10
11 float resolver (float px[],float pd[],int n_ele, float pp) {
3
12 float acumulador, resultado=0;
13 int i,f
14
15 for (i=0;i<n_ele;i++){
16 acumulador=1;
17
18 for(j=0;j<i;j++) {
19 acumulador=acumulador*(pp-px[j]);
20 }
21 resultado=resultado+(pd[i]+acumulador);
22 }
23 return resultado;
24 }
25
26 void diferencia(float px[],float py[],float pd[],int n_ele){
27 int j=0,i=0;
28
29 while(i<n_ele){
30 pd[j]=py[i];
31 for(;i<n_ele;i++){
32 py[i]=((py[i+1]-py[i])/px[i]+(j+1)-px[1]);
33 }
34 n_ele--;
35 j++;
36 i=0;
37 }
38 }
2.2. Lagrance
f
n
(x) =
n

i=0
f(x)
n

j=0,j=i
x x
j
x
i
x
j
f
n
(x) =
x x
1
x
0
x
1

x x
2
x
0
x
2
. . .
x x
n
x
0
x
n
f(x
0
) +
x x
0
x
1
x
0
. . .
. . .
x x
2
x
1
x
2
x x
n
x
1
x
n
f(x
1
) + . . . +
x x
0
x
n
x
0

x x
1
x
n
x
1
. . .
x x
n1
x
n
x
n1
f(x
n
)
4
Seccion 3
Metodos de integracion
3.1. Metodo del trapecio
Trazamos una lnea entre f(a) y f(b) y calculamos el area del trapecio re-
sultante.
_
a
b
f(x) dx (b a)
f(b) f(a)
2
3.2. Metodo del trapecio con segmentos m ulti-
ples
_
b
a
f(x) dx =
_
x
1
a
f(x) dx +
_
x
2
x
1
f(x) dx + . . . +
_
b
x
4
f(x) dx

h
2
_
f(a) + f(b) + 2
n1

i=1
f(x
i
)
_
n = N umero de segmentos
h =
b a
n
x
1
= a + h
x
2
= x
1
+ h
3.3. Simpson
1
3
Gracias a los metodos de interpolacion podemos trazar una curva entre los
dos puntos para reducir el error.
5
Este metodo en comparacion con el anteriro (trapecio) consigue mayro apro-
ximacion utilizando menor n umero de puntos porque se ajusta mejor a la curva
que el metodo del trapecio en el cual se usan lneas rectas.
_
b
a
f(x) dx
_
b
a
f
2
(x) dx
h
3
[f(a) + f(b) + 4f(x
i
)]
La h es igual a
ba
2
.
3.4. Simpson
1
3
con segmentos m ultiples
El n umero de segmentos tiene que ser par.
I
h
3
_
_
f(a) + f(b) + 2
n2

i=2, i par
f(x
i
) + 4
n1

i=1, i impar
f(x
i
)
_
_
3.5. Simpson
3
8
_
b
a
f(x) dx
_
b
a
f
3
(x) dx

3h
8
[f(a) + f(b) + 3f(x
1
) + 3f(x
2
)]
La h es igual a
ba
3
.
3.6. Simpson
3
8
con segmentos m ultiples
El n umero de segmentos tiene que ser m ultiplo de 3.
I
3h
8
_
_
f(a) + f(b) + 3
n1

i=1, i no multiplo 3
f(x
i
) + 2
n3

i=3, i multiplo 3
f(x
i
)
_
_
6
Seccion 4
Metodos de resolucion de
ecuaciones lineales o
metodos de calculo de races
4.1. Cerrados
Los metodos cerrados tiene que cumplir el teorema de Bolzano
1
.
4.1.1. Metodo de la biseccion
1. Comprobamos si se cumple Bolzano: f(a) f(b) < 0
2. X
r

ba
2
+ a, es decir, punto medio
3. Se hace la siguiente comprobacion:
Si (f(X
r
) f(a) < 0) b = X
r
si no si (f(X
r
) f(b) < 0) a = X
r
si no X
r
=raiz
Repetimos hasta que X
r
sea raz.
Algoritmo de la biseccion implementado en C
1 float f(float x){
2 }
3
4 float biseccion(float a,float b){
5 if (f(a)*f(b)<0){
6 float xr;
7 do {
8 xr=((b-a)/2)+a;
1
Toda f(x) que sea continua y derivable en un intervalo [a, b] si cambia de signo dentro del
intervalo tiene al menos una raz.
7
9 if (f(a)*f(xr)<0){
10 b=xr;
11 } else if(f(b)*f(xr)<0){
12 a=xr;
13 }
14 } while (f(xr) != 0);
15 return (xr);
16 }
17 }
4.1.2. Metodo de la regla falsa
f(a)
X
r
a
=
f(b)
X
r
b
f(a)(X
r
b)) = f(b)(X
r
a)
f(a)X
r
f(a)b = f(b)X
r
f(b)a X
r
(f(a) f(b)) = f(a)b f(b)a
X
r
=
f(a)b f(b)a
f(a) f(b)
4.2. Metodos abiertos
Se parte de un punto n
c
que tiene que cumplir Bolzano.
4.2.1. Newton-Raphson
f

(a) =
a
a X
r
(a X
r
)f

(a) = f(a)
a X
r
=
f(a)
f

(a)
X
r
= a
f(a)
f

(a)
Si f(X
r
) = 0, a = X
r
y seguimos hasta que f(X
r
) sea igual a 0.
4.2.2. Metodo de la secante
Entre X
r
y el intervalo se puede crear otro punto que quede mas cerca de la
raz.
f

(x) =
f(a) f(X
r
)
a X
r
X
r
2
= X
r

f(X
r
)
f

(X
r
)
X
r
2
= X
r

f(X
r
)
f(a)f(X
r
)
aX
r

X
r
2
= X
r

f(X
r
)a f(X
r
)X
r
f(a) f(X
r
)
8
Algoritmo de la secante implementado en C
1 double secante(double a, double b, double err){
2 double res,ant;
3 res=a;
4 do {
5 ant=res;
6 res=(a-(f(a)*(b-a))/(f(b)-f(a)));
7 a=b;
8 b=res;
9 } while (fabs((res-ant)/res)>err);
10 return res;
11 }
9

También podría gustarte