Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Metodes, Apuntes de Matemáticas

Asignatura: Mètodes Numèrics, Profesor: , Carrera: Matemàtiques, Universidad: UAB

Tipo: Apuntes

2012/2013

Subido el 27/05/2013

gerardgonzalezmoreno
gerardgonzalezmoreno 🇪🇸

3

(4)

1 documento

1 / 5

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Martínez Silva, Jordi
González Moreno, Gerard
Metodos Numéricos
Entrega 1
Romero Sànchez, David
20/02/2013
6. Utilizando 5 cifras decimales, calcular:
k
p2,15283 k
p2,15263 (k= 2,3,4)
a) Directamente.
b) Usando fórmulas equivalentes, mejor desde el punto de vista numérico.
Indicación: Utilizar la división de polinomios (akbk)/(ab)
SOLUCIÓN
a) Directamente
Para calcular k
2,15283 k
2,15263 ,(k= 2,3,4) utilizaremos el siguiente algoritmo:
I) Introducimos k
2,15283
II) Introducimos k
2,15263
III) Calculamos k
2,15283 k
2,15263
Haciendo este proceso para k= 2,3,4obtenemos los resultados que mostramos en la siguiente tabla:
k=2 k=3 k=4
k
2,15283 1,46725 1,29123 1,21130
k
2,15263 1,46718 1,29119 1,21127
k
2,15283 k
2,15263 0,00007 0,00004 0,00003
Podemos observar que en todos los resultados obtenemos una única cifra significativa. Esto puede ocasionar un pro-
blema de cancelación de terminos, con lo cual, tendremos que evitarlo.
b) Usando fórmulas equivalentes
Haciendo uso de la indicación, utilizaremos la división del polinomio (akbk)entre (ab)para encontrar la
fórmula. Para ello haremos uso de la regla de Ruffini. Hay que tener en cuenta que disponemos de dos variables, por
ello tomaremos bkcomo si se tratara de una constante.
1. Completamos el polinomio akbk,
ak+ 0 ·ak1+ 0 ·ak2+· ·· + 0 ·abk
2. Hacemos la división
1 0 0 ·· · 0bk
bb b2·· · bk1bk
1b b2·· · bk10
: Continua en la página siguiente. .. Página 1 de 5
pf3
pf4
pf5

Vista previa parcial del texto

¡Descarga Metodes y más Apuntes en PDF de Matemáticas solo en Docsity!

González Moreno, Gerard Entrega 1 20/02/

6. Utilizando 5 cifras decimales, calcular:

√ k 2 , 15283 − √k 2 , 15263 (k = 2, 3 , 4)

a) Directamente.

b) Usando fórmulas equivalentes, mejor desde el punto de vista numérico. Indicación: Utilizar la división de polinomios (ak^ − bk)/(a − b)

SOLUCIÓN

a) Directamente

Para calcular k

2 , 15283 − k

2 , 15263 , (k = 2, 3 , 4) utilizaremos el siguiente algoritmo:

I) Introducimos k

II) Introducimos k

III) Calculamos k

2 , 15283 − k

Haciendo este proceso para k = 2, 3 , 4 obtenemos los resultados que mostramos en la siguiente tabla:

k=2 k=3 k= √ k 2 , 15283 1 , 46725 1 , 29123 1 , 21130 √ k 2 , 15263 1 , 46718 1 , 29119 1 , 21127 √ k 2 , 15283 − √k 2 , 15263 0 , 00007 0 , 00004 0 , 00003

Podemos observar que en todos los resultados obtenemos una única cifra significativa. Esto puede ocasionar un pro- blema de cancelación de terminos, con lo cual, tendremos que evitarlo.

b) Usando fórmulas equivalentes

Haciendo uso de la indicación, utilizaremos la división del polinomio (ak^ − bk) entre (a − b) para encontrar la fórmula. Para ello haremos uso de la regla de Ruffini. Hay que tener en cuenta que disponemos de dos variables, por ello tomaremos bk^ como si se tratara de una constante.

  1. Completamos el polinomio ak^ − bk,

ak^ + 0 · ak−^1 + 0 · ak−^2 + · · · + 0 · a − bk

  1. Hacemos la división

1 0 0 · · · 0 −bk b b b^2 · · · bk−^1 bk 1 b b^2 · · · bk−^1

: Continua en la página siguiente... Página 1 de 5

González Moreno, Gerard Entrega 1 20/02/

así, el cociente será:

ak−^1 + ak−^2 b + ak−^3 b^2 + · · · + abk−^2 + bk−^1

Tenemos pues que ak^ − bk^ = (ak−^1 + ak−^2 b + ak−^3 b^2 + · · · + abk−^2 + bk−^1 ) · (a − b). Aislamos a − b de la expresión anterior y nos queda:

a − b =

ak^ − bk ak−^1 + ak−^2 b + ak−^3 b^2 + · · · + abk−^2 + bk−^1

Si sustituimos los valores a = k

2 , 15283 , b = k

2 , 15263 para k = 2, 3 , 4 en la ecuación (1) y teniendo en cuenta que 2 , 15283 − 2 ,15263 = 0,0002 = 2 · 10 −^4 ya habremos acabado.

Utilizando 5 decimales obtenemos:

k=2 −→

= 6 , 81563 · 10 −^5

k=3 −→ 3

2 ,15283)^2 + 3

2 ,15263)^2

= 3 , 99866 · 10 −^5

k=4 −→ 4

2 ,15283)^3 + 2

2 ,15263)^3

= 2 , 81340 · 10 −^5

Página 2 de 5

González Moreno, Gerard Entrega 1 20/02/

Calculamos In para n = { 2 , 4 ,... , 20 }. Para realizar este proceso hemos hecho servir el programa que acontinuación se detalla:

1 #include <stdio.h> 2 #include <math.h> 3 4 #define PI 3. 5 6 int main( char (^) argv[]){ 7 int n=argv[2]; 8 double A[n2]; 9 10 A[0]=2/PI; 11 printf("I[ %i]= %lf\n",n,A[0]); 12 for (n=2;n<=20;n+=2){ 13 A[n]=(1/PI)-((n(n-1)/(PIPI))*A[n-2]); 14 printf("I[ %i]= %lf\n",n,A[n]); 15 } 16 retourn 0; 17 }

Por el cual hemos obtenido los siguientes valores para n = { 0 , 2 , 4 ,... , 20 }:

n In n In 0 0 , 636639 12 0 , 016574 2 0 , 189302 14 0 , 012665 4 0 , 088142 16 0 , 010323 6 0 , 050383 18 − 0 , 001756 8 0 , 032432 20 0 , 385943 10 0 , 022560

En la tabla podemos observar que que para I 18 la recurrencia toma valores negativos lo que no puede ser ya que el valor de la integral tendria que decrecer al aumentar n. Este echo es devido a que los errores se amplifican a cada paso de la recurrencia por un factor de n(n π− 2 1). Por ejemplo si queremos calcular el error acumulado En tenemos que:

En = n^ ·^ (n^ −^ 1)^ ·^ (n^ −^ 2)^ ·^ (n^ −^ 3)^ ·^ (n^ −^ 4)^ ·^ (n^ −^ 4)^ ·^...^ ·^4 ·^3 ·^2 ·^1 π^2 ·..... .n · π^2

= n! πn^

para n = { 0 , 2 , 4 ,... , 20 }

Recurrencia de la cual optenemos la tabla:

n En n En 0 1 , 000000 12 5 , 182490 · 102 2 0 , 202642 14 9 , 556748 · 103 4 0 , 164255 16 2 , 323922 · 105 6 0 , 748916 18 7 , 205155 · 106 8 4 , 249341 20 2 , 774132 · 108 10 3 , 874933 · 10

: Continua en la página siguiente... Página 4 de 5

González Moreno, Gerard Entrega 1 20/02/

Con el fin de evitar este error, tomamos la recurrencia inversa, para ello,despejamos In− 2 de la reccurencia anterior:

In− 2 =

π

− In

· π

2 n(n − 1)

Como la integral tiende a cero existe n lo suficientemente grande tal que In → 0. Tomando por ejemplo n = 30:

n In 30 0 , 000000 28 0 , 003611 26 0 , 004108 24 0 , 004771 22 0 , 005606 20 0 , 006680 18 0 , 008094 16 0 , 010006

n In 14 0 , 012679 12 0 , 016574 10 0 , 022561 8 0 , 032433 6 0 , 050384 4 0 , 088144 2 0 , 189304 0 0 , 636620

Para calcular esta iteración hemos echo uso del código:

1 #include <stdio.h> 2 #include <math.h> 3 4 #define PI 3. 5 6 int main( char (^) argv[]){ 7 int n=argv[2]; 8 double A[n3]; 9 10 A[30]=0; 11 printf("I[ %i]= %lf\n",n,A[0]); 12 for (n=30;n>=0;n-=2){ 13 A[n-2]=((PIPI)/(n(n-1)))*((1/PI)-A[n]); 14 printf("I[ %i]= %lf\n",n,A[n-2]); 15 } 16 }

Para este nuevo caso tenemos que el incremento del coeficiente de error viene determinado por π

2 n(n−1). Mediante el mismo proceso que en el caso anterior, tenemos:

En = π

(^2) ·..... .n · π 2 n · (n − 1) · (n − 2) · (n − 3) · (n − 4) · (n − 4) ·... · 4 · 3 · 2 · 1

= π

n n!

para n = { 0 , 2 , 4 ,... , 20 }

n En 30 1 , 000000 28 4 , 934802 26 4 , 058712 24 1 , 335262 22 0 , 235330 20 0 , 025806 18 0 , 001929 16 0 , 000104

n En 14 0 , 000004 12 1 , 387895 · 10 −^7 10 3 , 604730 · 10 −^9 8 7 , 700707 · 10 −^11 6 1 , 376864 · 10 −^12 4 2 , 090632 · 10 −^14 2 2 , 729327 · 10 −^16 0 3 , 096250 · 10 −^18

Página 5 de 5