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


Números y operaciones numéricas, Apuntes de Cálculo

Asignatura: Cálculo Numérico I, Profesor: Patricio Cifuentes, Carrera: Matemáticas, Universidad: UAM

Tipo: Apuntes

2011/2012

Subido el 13/04/2012

s3rg4
s3rg4 🇪🇸

4.1

(21)

10 documentos

1 / 11

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
alculo Num´erico I
Introducci´on. umeros y operaciones num´ericas
La mayor parte de las funciones que aparecen en matem´aticas son
dif´ıcilmente evaluables. No solamente aquellas que aparecen como
soluciones de algunos problemas y no pueden expresarse algebraica-
mente en erminos de funciones elementales, sino que estas mis-
mas funciones elementales —incluyendo entre ellas las funciones
trigonom´etricas, la exponencial, y sus inversas— son dif´ıciles de
evaluar. Recordemos que sus valores se obtienen com´unmente de
tablas ya calculadas o por medio de aquinas calculadoras. Para
calcular estas tablas, para programar estas calculadoras, para esti-
mar valores num´ericos relacionados con aquellas funciones, nece-
sitamos ecnicas que nos permitan, a partir de la definici´on de
la funci´on, aproximarnos al valor real que queremos estimar con-
trolando en todo momento la magnitud del error que estamos come-
tiendo. Estas ecnicas, reglas, etodos, junto con su justificaci´on
te´orica, y por tanto control de su error, es lo que constituye el
alculo num´erico.
Desde la aparici´on de las calculadoras electr´onicas —incluyendo
entre ellas los ordenadores, grandes y peque˜nos— el panorama del
alculo num´erico ha cambiado enormemente. Ya no se trata de
buscar etodos y reglas que en unas pocas operaciones nos faciliten
el valor buscado; ya no tiene tanta importancia el umero de ope-
raciones necesario para realizar un alculo, es as importante la
estabilidad de ese alculo a pesar del gran umero de operaciones,
el control del error que produce la aritm´etica del ordenador.
No significa esto que no haya problemas en los cuales sea necesario
1
pf3
pf4
pf5
pf8
pf9
pfa

Vista previa parcial del texto

¡Descarga Números y operaciones numéricas y más Apuntes en PDF de Cálculo solo en Docsity!

C´alculo Num´erico I

Introducci´on. N´umeros y operaciones num´ericas

La mayor parte de las funciones que aparecen en matem´aticas son dif´ıcilmente evaluables. No solamente aquellas que aparecen como soluciones de algunos problemas y no pueden expresarse algebraica- mente en t´erminos de funciones elementales, sino que estas mis- mas funciones elementales —incluyendo entre ellas las funciones trigonom´etricas, la exponencial, y sus inversas— son dif´ıciles de evaluar. Recordemos que sus valores se obtienen com´unmente de tablas ya calculadas o por medio de m´aquinas calculadoras. Para calcular estas tablas, para programar estas calculadoras, para esti- mar valores num´ericos relacionados con aquellas funciones, nece- sitamos t´ecnicas que nos permitan, a partir de la definici´on de la funci´on, aproximarnos al valor real que queremos estimar con- trolando en todo momento la magnitud del error que estamos come- tiendo. Estas t´ecnicas, reglas, m´etodos, junto con su justificaci´on te´orica, y por tanto control de su error, es lo que constituye el c´alculo num´erico.

Desde la aparici´on de las calculadoras electr´onicas —incluyendo entre ellas los ordenadores, grandes y peque˜nos— el panorama del c´alculo num´erico ha cambiado enormemente. Ya no se trata de buscar m´etodos y reglas que en unas pocas operaciones nos faciliten el valor buscado; ya no tiene tanta importancia el n´umero de ope- raciones necesario para realizar un c´alculo, es m´as importante la estabilidad de ese c´alculo a pesar del gran n´umero de operaciones, el control del error que produce la aritm´etica del ordenador.

No significa esto que no haya problemas en los cuales sea necesario

buscar m´etodos que limiten el n´umero de operaciones. Son por lo general problemas que antes de la aparici´on del ordenador eran to- talmente inabordables debido a su magnitud pero que con la nueva tecnolog´ıa son f´acilmente programables. Estamos pensando en par- ticular en los problemas de inversi´on de matrices y resoluci´on de sistemas lineales de gran tama˜no, aunque no sea este el ´unico caso.

1 Sistemas de numeraci´on

Las reglas aritm´eticas que hemos aprendido en la escuela est´an basadas en el sistema num´erico de base diez (sistema decimal). Hemos aprendido de memoria unas tablas que contienen la suma y el producto de los diez primeros n´umeros naturales (que utilizamos como d´ıgitos) y a partir de ellas sabemos como operar con n´umeros de cualquier magnitud siempre que est´en expresados en t´erminos de estos diez d´ıgitos. La expresi´on de cualquier n´umero natural N en t´erminos de estos diez d´ıgitos viene dada por la concatenaci´on de los restos que resultan de dividir por diez el n´umero N y sus sucesivos cocientes. Es decir, la primera cifra —que situamos a la derecha— es el resto R 1 de dividir N entre diez, con cociente N 1 ; la segunda cifra —que situamos inmediatamente a la izquierda de aquella— es el resto R 2 de dividir N 1 entre diez, con cociente N 2 ; iteramos este proceso hasta que obtenemos un ´ultimo resto Rk — que situamos inmediatamente a la izquierda de la concatenaci´on de restos obtenidos hasta el momento— al obtener por cociente cero. As´ı la expresi´on decimal del n´umero N es la concatenaci´on de restos RkRk− 1... R 2 R 1 todos ellos n´umeros entre cero y nueve que representamos usualmente por las cifras 0, 1 ,... , 9.

Esta es la representaci´on num´erica que todos conocemos desde nues- tra m´as tierna infancia descrita en t´erminos un tanto sofisticados con el fin de observar la arbitrariedad contenida en la elecci´on del n´umero diez en este proceso —arbitrariedad seguramente debida al hecho de ser ´este el n´umero total de dedos, lo que nos per- mite utilizar las manos como un ´abaco natural. Una vez obser- vada esta arbitrariedad nada nos impide cambiar los t´erminos y jugar a reconstruir nuestra aritm´etica elemental en una base dis- tinta. Puede ser ´esta cualquier n´umero positivo b mayor que uno. Necesitaremos para esta aritm´etica un n´umero b de cifras que repre- senten los b primeros n´umeros naturales incluido el cero. El proceso

la botella por medio de marcas en la serie de n´umeros 1, 2, 4, 8, 16, y 1, 2, 4, 8. Es particularmente interesante la forma de indicar el d´ıa del mes ya que con estos n´umeros se cubren exactamente los 31 d´ıas posibles.

Ejercicio. Escribir en base dos los n´umeros en base diez siguien- tes: 521, 473, 1024. Escribir en base diez los n´umeros 1000101(2, (^121212) (3, 54321(6.

Otras bases especialmente importantes aparte de dos y diez son las bases ocho y dieciseis, que por ser potencias de dos tienen una tra- ducci´on especialmente f´acil de unas a otras, siendo las expresiones de cualquier numero m´as cortas cuanto mayor es la base que se uti- liza. Para convertir un n´umero de base dos a base ocho o dieciseis o viceversa basta tener una tabla de los d´ıgitos de ´estas ´ultimas en base dos:

Base 8 Base 16 000 0 0000 0 1000 8 001 1 0001 1 1001 9 010 2 0010 2 1010 A 011 3 0011 3 1011 B 100 4 0100 4 1100 C 101 5 0101 5 1101 D 110 6 0110 6 1110 E 111 7 0111 7 1111 F

Cualquier n´umero en base dos —100010001110101101— se trans- forma a base ocho o a base dieciseis separando desde la derecha bloques de tres o cuatro d´ıgitos respectivamente, y sustituy´endolos por el d´ıgito en la base correspondiente:

100 010 001 110 101 101(2 = 421655(

10 0010 0011 1010 1101(2 = 223AD(

Los n´umeros en bases dos, ocho, diez, y dieciseis se denominan bina- rios, octales, decimales, y hexagesimales respectivamente. Muchas calculadoras digitales est´an preparadas para operar en cualquiera de estas bases.

Hasta ahora hemos hablado de la representaci´on de n´umeros en- teros. Para representar n´umeros fraccionarios podemos utilizar en

cualquier base m´etodos an´alogos a los utilizados en base diez. ¿Qu´e significa la expresi´on decimal 31′27? Expresado en fracciones quiere decir 31 + 102 + 1072. Esta idea para representar la parte fraccionaria de un n´umero puede utilizarse en cualquier base b: la parte frac- cionaria de un n´umero se expresa como suma de fracciones cuyos numeradores son enteros entre 0 y b − 1 y cuyos denominadores son las potencias de b.

Ejemplo. 0 ′ (^13265) (8 = 1· 8 −^1 + 3· 8 −^2 + 2· 8 −^3 + 6· 8 −^4 + 5· 8 −^6.

Sabido esto, ¿como representaremos un n´umero fraccionario x en una base dada b? Supongamos que a 1 , a 2 , a 3 ,... son las cifras del desarrollo: x = 0′a 1 a 2 a 3 · · · = a 1 ·b−^1 + a 2 ·b−^2 + a 3 ·b−^3 +.... Ob- servemos que b·x = a 1 + a 2 ·b−^1 + a 3 ·b−^3 +... y, por tanto, a 1 es la parte entera de b·x; b(b·x − a 1 ) = a 2 + a 3 ·b−^1 +... , de forma que a 2 es la parte entera de b(b·x − a 1 ), etc.

Ejemplo. Expresar en base 3 el n´umero 0′ (^31) (10.

0’31 x 3 = 0’93 su parte entera es 0 0’93 x 3 = 2’79 —”— 2 0’79 x 3 = 2’37 —”— 2 0’37 x 3 = 1’11 —”— 1 0’11 x 3 = 0’33 —”— 0 0’33 x 3 = 0’99 —”— 0 etc.

Obtenemos 0′ (^31) (10 = 0′ 022100.. .(3. ¿Hasta cu´ando debemos con- tinuar el c´alculo? Dado que el n´umero cuyo desarrollo fraccionario estamos calculando es racional, las cifras deben repetirse de forma peri´odica a partir de alg´un lugar. Esto ocurrir´a en cuanto la parte fraccionaria en base 10, que siempre tiene el mismo n´umero de cifras —en nuestro ejemplo 2—, se repita por primera vez; a partir de este punto todos los c´alculos se repiten.

2 Representaci´on de n´umeros en el ordenador

Al calcular num´ericamente con una m´aquina debemos considerar principalmente dos tipos de n´umeros: enteros y de coma flotante (en ingl´es,floating point). Por medio de los segundos tratamos de

importantes que pueden producirse. El primero de ellos es el de llegar a un exponente por encima de N 1 , se produce entonces un error que la m´aquina detecta inmediatamente y que anuncia como overflow. El segundo es el de bajar del exponente −N 0 ; en este caso overflow la m´aquina puede no anunciar el error y poner en la variable corres- pondiente el valor cero (el error aparecer´a si, por ejemplo, tratamos de dividir por esa cantidad. Sabido lo anterior es f´acil experimentar con nuestra m´aquina (por ejemplo, con nuestra calculadora) para determinar los valores de N 0 y N 1. Este tipo de error se conoce con el nombre de underflow. underflow

En el entorno Matlab que vamos a utilizar existe una constante llamada eps que es el mayor n´umero que sumado a 1 no produce efecto alguno.

3 Error

En todo c´alculo num´erico debemos esperar un error: los m´etodos que utilizamos en nuestros c´alculos son generalmente aproximados; los datos de partida proceden de medidas de precisi´on limitada; las operaciones a que sometemos estos datos producen valores interme- dios cuyo n´umero de cifras debe reducirse; los valores num´ericos que tratamos de calcular son generalmente reales y por tanto raramente expresable en t´erminos finitos; etc. No debe por tanto preocuparnos el que en nuestros c´alculos acarreemos un cierto error sino el con- trolar en todo momento ese error y mantenerlo por debajo de un extremo prefijado.

Llamaremos error de un resultado xa a la diferencia entre ´este y el valor x que tratamos de determinar. M´as concretamente

E(xa) = xa − x.

Con esta definici´on del error en xa estamos adem´as estableciendo un signo en ´este, criterio que mantendremos en el resto de estas notas.

El error E que acabamos de definir es el que llamaremos error abso- luto. M´as importante a la hora de determinar la validez de nuestros error absoluto c´alculos es el error relativo: error relativo

Er(xa) =

E(xa) x

xa − x x

que est´a definido siempre que x 6 = 0.

El error en un c´alculo nunca podr´a determinarse con exactitud (ello equivaldr´ıa a poder determinar el valor exacto de x) simplemente se acotar´a.

Una forma de referirse al error relativo en un sistema de numeraci´on de base b es por medio del n´umero de cifras significativas en un cifras significativas resultado. Diremos que xa contiene n cifras significativas de x si la diferencia entre las mantisas de xa y x es menor de b/2 unidades en su cifra m+1. Con esta definici´on la expresi´on n cifras significativas pudiera en alg´un caso querer decir algo ligeramente distinto de lo que coloquialmente pudiera entenderse. (Ejemplo: 3’1416 tiene 5 cifras significativas del n´umero π = 3′ 14159... .)

4 Procedencia del error

El error en un c´alculo puede proceder de diversas causas. 1. Equivocaciones.

  1. Desviaci´on del modelo con la realidad.
  2. Errores de observaci´on en los datos num´ericos.
  3. Errores debidos al funciona- miento de la m´aquina.
  4. Errores intr´ınsecos de los m´e- todos num´ericos.

Hemos de se˜nalar en primer lugar el error de c´alculo, es decir el error que comete el calculista por equivocaci´on. Incluimos aqu´ı los errores de programaci´on. La forma de evitar este tipo de error es la verificaci´on de los c´alculos y la comprobaci´on de los programas. El verificar un programa completo puede resultar una tarea compleja y poco agradable. Tal vez la mejor estrategia sea la de dividir el programa en partes (subrutinas) y comprobar separadamente cada una de ellas experimentalmente con datos sencillos de los que es f´acil deducir el resultado esperado.

Al resolver problemas f´ısicos suelen darse dos tipos de errores. Primeramente aquellos que proceden de la medici´on de los datos. Los sistemas de medida nunca pueden ser exactos —en realidad, seg´un nuestros modelos, tratamos las m´as de las veces de medir algo que consideramos un n´umero real— y por tanto ya tendremos una ´ınfima desviaci´on de partida. En segundo lugar debemos tener en cuenta que el modelo f´ısico que utilizamos —las ecuaciones que modelan el experimento— suele obtenerse a trav´es de aproxima- ciones que simplifican las propiedades f´ısicas —linealizaci´on, ...— y que por tanto producir´an desviaciones respecto de la realidad. Tanto unas como otras desviaciones no ser´an objeto de estudio por parte del C´alculo Num´erico sino que de ellas se ocupa el estudio de la estabilidad del modelo —ecuaciones diferenciales, ´algebra li-

1 − cos x x^2

que evite la diferencia entre dos n´umeros pr´oximos que aparece en el numerador cuando x est´a pr´oximo a cero.

Por ruido al evaluar una funci´on nos referimos a la indetermi- ruido al evaluar una funci´on naci´on que puede aparecer en los valores de una funci´on cuando se trata de analizar experimentalmente una propiedad cualitativa. Por ejemplo, si tratamos de ver donde est´a el cero del polinomio P (x) = x^3 − 3 x^2 + 3x − 1 dando valores y utilizamos aritm´etica de seis d´ıgitos

P (0′999) = 0, P (1′001) = 0

Incluso, con aritm´etica de siete d´ıgitos

P (0′9998) = 0′ 0000001 > 0

cuando en realidad P (0′9998) < 0.

Supongamos que queremos evaluar una funci´on f , derivable, con error al evaluar una funci´on derivada continua, en un punto x y que para ello disponemos de una aproximaci´on ˜x de forma que lo que calcularemos es f (˜x). ¿Cu´al es el error? Para evaluarlo podemos utilizar el teorema del punto medio (o, lo que viene a ser lo mismo, la definici´on de derivada),

|f (˜x) − f (x)| ≈ f ′(˜x)|˜x − x|.

Es decir, el error se multiplica por el valor de la derivada de f (que ser´a aproximadamente la misma en x que en ˜x.

Al sumar un n´umero grande de t´erminos los errores de redondeo se sumas acumulan. Veamos como proceder para conseguir que este error de redondeo sea lo menor posible. Queremos hallar S = a 1 + a 2 + · · · + an donde cada ai es un FLO. Al realizar la suma debemos operar n − 1 veces:

S 2 = FLO(a 1 + a 2 ) = (a 1 + a 2 )(1 + ε 2 ) S 3 = FLO(S 2 + a 3 ) = (S 2 + a 3 )(1 + ε 3 )

.................. Sn = FLO(Sn− 1 + an) = (Sn− 1 + an)(1 + εn)

donde los εi son los errores relativos de redondeo.

Si S es la verdadera suma de a 1 + a 2 + · · · + an entonces

Sn − S = Sn − (a 1 + · · · + an) = Sn− 1 (1 + εn) + anεn − (a 1 + · · · + an− 1 ) =... = a 1 (ε 2 + · · · + εn) + a 2 (ε 2 + · · · + εn)

  • · · · + an− 1 (εn− 1 + εn) + anεn.

Para que este t´ermino sea lo menor posible, la mejor estrategia es la de escribir a 1 + a 2 + · · · + an en orden creciente de los |an|, es decir sumar de menor a mayor.

Debemos mencionar finalmente los errores debidos a los m´etodos num´ericos utilizados. Lo que calculan no es en general lo que se quiere calcular y por tanto el mismo m´etodo num´erico debe hacer un estudio de cu´al es el error que lleva asociado. Este estudio es parte fundamental de las t´ecnicas analizadas en el presente curso.