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


Teoria ICC, Apuntes de Ingeniería Infórmatica

Asignatura: introduccion, Profesor: , Carrera: Enginyeria Informàtica, Universidad: UB

Tipo: Apuntes

2016/2017

Subido el 30/10/2017

lingzhu
lingzhu 🇪🇸

1 documento

1 / 36

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Presentació 1 Errors 2 Àgebra lineal numèrica 3 Interpolació 4 Derivació i integració 5 Zeros
Tema 1 1
Errors
ENGINYERIA INFORMÀTICA
Introducció a la Computació Científica
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24

Vista previa parcial del texto

¡Descarga Teoria ICC y más Apuntes en PDF de Ingeniería Infórmatica solo en Docsity!

Tema 1 1

Errors

ENGINYERIA INFORMÀTICA

Exemple d’errors 2

Càlcul aproximat de la massa de la Terra

Usant la llei de la gravitació universal de Newton i la llei de la caiguda lliure dels cossos de Galileu, s’obté la fórmula:

M = gR

2 G

on g és l’acceleració de la gravetat, R el radi de la Terra, i G la constant de la gravitació universal. Es disposa dels valors experimentals següents:

g = 9 .80665 m s−^2 , G = 6. 67428 · 10 −^11 m^3 kg−^1 s−^2 , R = 6371 .0 km.

Aplicant la fórmula anterior, resulta l’aproximació M = 5. 9639 · 1024 kg. Nota M = 5. 9736 · 1024 kg (Wikipedia, NASA). M = 5. 9742 · 1024 kg (J.M.A. Danby, Fundamentals of Celestial Mechanics, Willmann-Bell, Inc., 1992). Q

Caldria estudiar els errors comesos.

ENGINYERIA INFORMÀTICA

Error absolut i error relatiu 4

Definicions i notacions Definició d’errors absolut i relatiu: Sigui x el valor exacte d’una quantitat i x un valor aproximat. Error absolut en x:

ea(x) := ea(x, x) = x − x ,

Error relatiu en x:

er (x) := er (x, x) =

ea(x) x

ea(x) x

x − x x

Fites d’error: εa(x) := εa(x, x)) és una fita de l’error absolut en x si |ea(x)| ≤ εa(x) , εr (x) := εr (x, x)) és una fita de l’error relatiu en x si |er (x)| ≤ εr (x).

Notació usual: x = x ± εa(x) ⇐⇒ x ∈ [x − εa(x), x + εa(x)] , x = x ( 1 ± εr (x)) ⇐⇒ x ∈ [x − εr (x)|x|, x + εr (x)|x|]. ENGINYERIA INFORMÀTICA

Error absolut i error relatiu 5

Exemples

Sigui a =

20000 = 141. 4213562 ... i a = 141 .4.

ea(a, a) = ea( 141. 4 ,

20000 ) = 0. 02135 ... < 0. 022 ≡ εa(a) ,

er (a, a) = er ( 141. 4 ,

= 0. 00015099 ... < 0. 00016 ≡ εr (a).

La primera fita indica que l’error no afecta la primera xifra decimal i la segona, que l’error no afecta la tercera xifra significativa (tot i que tampoc la quarta). Sigui b =

800000 = 894. 42719 ... i b = 894 .4.

ea(b, b) = ea( 894. 4 ,

800000 ) = 0. 02719 .... < 0. 028 ≡ εa(b) ,

er (b, b) = er ( 894. 4 ,

= 0. 000030399 ... < 0. 000031 ≡ εr (b).

La primera fita indica que l’error no afecta la primera xifra decimal i la segona, que l’error no afecta la quarta xifra significativa.

ENGINYERIA INFORMÀTICA

Representació de nombres en una base 7

Exemple de representació en base 2 Representació de 125. (^110) ) en base 2.

  1. (^110) ) = aq− 1 aq− 2... a 0 .a− 1 a− 2 a− 3... (^2) ). amb els bits aj ∈ { 0 , 1 }, (j < q = 3 ). Representació de la part entera 125 10 ) en base 2.

125 / 2 = 62 (resta 1 ) 62 / 2 = 31 (resta 0 ) 31 / 2 = 15 (resta 1 ) 15 / 2 = 7 (resta 1 ) 7 / 2 = 3 (resta 1 ) 3 / 2 = 1 (resta 1 ) 1 / 2 = 0 (resta 1 )

(^12510) ) = (^11111012) ).

ENGINYERIA INFORMÀTICA

Representació de nombres 8

Exemple de representació en base 2 Representació de la part fraccionària 0. (^110) ) en base 2.

  1. 1 × 2 = 0. 2 (posem 0 )
  2. 2 × 2 = 0. 4 (posem 0 )
  3. 4 × 2 = 0. 8 (posem 0 )
  4. 8 × 2 = 1. 6 (posem 1 )
  5. 6 × 2 = 1. 2 (posem 1 )
  6. 2 × 2 = 0. 4 (posem 0 )
  7. 4 × 2 = 0. 8 (posem 0 )

...

  1. (^110) ) = 0. (^000112) )

Representació binària completa

  1. (^110) ) = 1111101. (^000112) ).

ENGINYERIA INFORMÀTICA

Representació decimal en punt flotant 10

Representació aproximada en calculadores

Les calculadores poden emmagatzemar una quantitat finita de dígits. Per tant, no es poden emmagatzemar totes les mantisses (ni tots els exponents).

Si sols disposem de t dígits per a la mantissa, la representació

x = ± 0 .α 1 α 2... αt αt+ 1... · 10 q^ = ±m 10 q^ , amb α 1 6 = 0,

pot ser aproximada, arrodonint el darrer dígit t, per flt (x), flotant d’x amb t dígits significatius i arrodoniment: flt (x) = ± 0 .α 1 α 2... αt · 10 q^ , si αt+ 1 < 5; flt (x) = ±flt

( 0 .α 1 α 2... αt + 10 −t^ )· 10 q^

, si αt+ 1 ≥ 5.

Exemple: Sigui x = 0. 999527 · 101. Llavors:

fl 5 (x) = 0. 99953 · 101 , fl 4 (x) = 0. 9995 · 101 , fl 3 (x) = 0. 100 · 102

ENGINYERIA INFORMÀTICA

Representació decimal en punt flotant 11

Errors d’arrodoniment

Observem que, atenent a les definicions:

|ea(flt (x), x)| = |x − flt (x)| ≤ 1 2

10 −t^10 q^ = 1 2

10 q−t^ =: εa(flt (x), x).

1 2 10

q−t (^) és una fita de l’error absolut en la representació en punt flotant amb t dígits significatius i arrodoniment de qualsevol nombre real x 6 = 0 amb exponent q.

Com que x 6 = 0 i m ≥ 0 .1:

|er (flt (x), x)| =

|ea(flt (x), x)| |x|

10 q−t m 10 q^

101 −t^ =: εr (flt (x), x).

1 2 10

1 −t (^) és una fita de l’error relatiu en la representació en punt flotant amb t dígits significatius i arrodoniment de qualsevol nombre real x 6 = 0.

ENGINYERIA INFORMÀTICA

Representació binària en punt flotant 13

Representació aproximada en ordinadors i errors d’arrodoniment Els ordinadors poden emmagatzemar una quantitat finita de bits per a les mantisses i exponents. La representació en punt binari flotant d’un nombre qualsevol x 6 = 0

x = ± 0 .α 1 α 2... αt αt+ 1... · 2 q^ = ±m 2 q^ , amb α 1 = 1,

pot ser aproximada, emprant t bits per a la mantisa arrodonint el darrer bit, per flt (x) (flotant d’x amb t bits significatius i arrodoniment ): flt (x) = ± 0 .α 1 α 2... αt · 2 q^ , si αt+ 1 = 0; flt (x) = ±flt

( 0 .α 1 α 2... αt + 2 −t^ )· 2 q^

, si αt+ 1 = 1. Com que x 6 = 0 i m < 12 ,

|er (flt (x), x)| =

|ea(flt (x), x)| |x|

2 q−t m 2 q^

21 −t^ =: εr (flt (x), x)

i, per tant, 2−t^ és una fita de l’error relatiu de la representació en punt flotant amb t bits significatius i arrodoniment de qualsevol nombre real x 6 = 0. ENGINYERIA INFORMÀTICA

Representació binària en punt flotant 14

Formats IEEE de representació en precisió simple i doble

x = ± 1 .α 2... αt αt+ 1... (^2) ) · 2 q−^1 = ±( 1 + f ) 2 q−^1 es representa per: flt (x) = ± 1 .α 2 α 3... αt 2 ) · 2 q−^1 , si αt+ 1 = 0; flt (x) = ±flt

( 1 .α 2... αt 2 ) + 2 −t+^1 ) 2 q−^1

, si αt+ 1 = 1.

Format base (b) digits (t) qmin − 1 qmax − 1 bits IEEE simple 2 24 − 126 128 32 IEEE doble 2 53 − 1022 1024 64

Taula: Formats IEEE (simple i doble precisió)

IEEE simple signe (1) e = q − 1 + 127 ( 8 ) mantissa f (23) IEEE doble signe (1) e = q − 1 + 1023 ( 11 ) mantissa f (52)

Taula: Distribució de memòria en el format IEEE (simple i doble).

ENGINYERIA INFORMÀTICA

Representació binària en punt flotant 16

Formats IEEE de representació en precisió simple i doble

Com es representa x = 125 .1 en IEEE amb precisió simple?

Es té la representació amb punt binari flotant:

x = 125. 1 = 1111101. (^000112) ) = 1. (^111101000112) ) · 26

L’exponent desplaçat e es representa en base 2 per e = 6 + 127 = 133 = (^100001012) ). Resulta finalment la representació en memòria usant IEEE simple:

IEEE simple 0 10000101 11110100011001100110011

ENGINYERIA INFORMÀTICA

Representació binària en punt flotant 17

Èpsilon de la màquina

 = 12 b^1 −t^ s’anomena èpsilon de la màquina. Coincideix amb el nombre positiu més petit que sumat a 1 dóna diferent de 1, és a dir

 = min{ε : flt ( 1 + ε) 6 = 1 }.

Com més petit és, més precisa és la màquina: la precisió indica el nombre t de xifres significatives correctament representades amb arrodoniment en base b. Notem que flt ( 1 + ε) = 1 no vol dir ε sigui igual a 0 sinó que és més petit que l’èpsilon de la màquina. Treballant amb t = 3 dígits significatius, si

x = 0. 1 · 101 i y = 0. 456 · 10 −^4

llavors x + y = x, però y 6 = 0.

ENGINYERIA INFORMÀTICA

Problemes numèrics 19

Exemple de cancel·lació

Les dues solucions de l’equació x^2 − 18 x + 1 = 0 són

x 1 , 2 = 9 ±

x 1 = 0. 1794427190999916 · 102 x 2 = 0. 5572809000084121 · 10 −^1

Si prenem

80 = 8 .9443 (és a dir t = 5) s’obté

x 1 = 9 + 8. 9443 = 17. 9443 = 0. 179443 · 102 (6 xifres),

x 2 = 9 − 8. 9443 = 0. 0557 = 0. 557 · 10 −^1 (3 xifres!)). En calcular x 2 hi ha una cancel·lació de xifres decimals, perquè restem dues quantitats que són properes i dóna un resultat significativament erroni.

ENGINYERIA INFORMÀTICA

Propagació d’errors 20

Causes

Hi ha dues raons (o almenys així es pot pensar) responsables de la

propagació de l’error en un procès de càlcul:

Errors en les dades. Si les dades tenen error, aquest error es

propaga al resultat de les operacions.

Errors en les operacions Encara que se sumin dos nombres de

màquina x, y, el resultat representat flt (x + y) pot ser diferent de

x + y. Les funcions f internes que s’apliquen tenen també errors

que es poden considerar errors en les operacions.

Les dues alhora... Efectivament, els errors de les dades i de les

operacions s’acumulen en els resultats intermedis i en el resultat

final.

Per simplificar se suposarà primer que les funcions emprades en el

procès de càlcul no tenen errors i que, per tant, tots els errors es

deuen a la propagació dels errors de les dades.

ENGINYERIA INFORMÀTICA