Epsilon

Páginas: 11 (2638 palabras) Publicado: 10 de octubre de 2011
Computación Numérica - Prácticas

http://www.dsic.upv.es/asignaturas/eui/cnu/prac/p3/cnu-p3.html

Computación Numérica
Profesores: José M. Alonso, Fernando Alvarruiz, Juan Garayoa, Jesús Peinado, José L. Pérez, José E. Román, Vicente Vidal.
http://www.dsic.upv.es/asignaturas/eui/cnu/prac

Práctica 3 - Errores en la Aritmética de Coma Flotante
Como se ha estudiado en teoría, enComputación Numérica existen diferentes fuentes de errores. En esta práctica vamos a estudiar una de ellas: los errores de redondeo, debidos a que en el ordenador se realizan los cálculos con los números representados en un formato de precisión finita (es decir, sólo es posible almacenar un número de dígitos limitado). La práctica consta de los siguientes apartados: 1. 2. 3. 4. Errores con pocos dígitos deprecisión Representación en formato IEEE-754 Errores en el formato IEEE-754 Valores característicos del formato IEEE-754 (opcional)

3.1. Errores con pocos dígitos de precisión
En este apartado vamos a abordar un problema muy sencillo (la ecuación de segundo grado), planteando la resolución de diferentes formas y viendo en cada caso cuál es el error que se ha cometido. Objetivos evaluables:Observar que el error depende del número de dígitos utilizados para representar los números. Saber obtener errores absolutos y relativos, y analizar sus valores. Saber identificar situaciones en las que se produce cancelación de dígitos significativos, y el efecto que esto tiene en el error. Saber realizar programas sencillos en Matlab.

Funciones auxiliares
Como veremos en el próximo apartado,Matlab representa los números con unos 16 dígitos de precisión. Sin embargo, en este apartado vamos a trabajar con menos dígitos, para que la aparición de errores sea más evidente. Para ello, vamos a utilizar unas funciones que simulan las operaciones aritméticas elementales, utilizando tantos dígitos como queramos (menos de 16). Las cabeceras de las funciones son:
function x=suma_r(a,b,n) %x=suma_r(a,b,n) devuelve la suma de a y b, realizada con n dígitos

1 de 8

16/3/06 17:53

Computación Numérica - Prácticas

http://www.dsic.upv.es/asignaturas/eui/cnu/prac/p3/cnu-p3.html

% decimales de precisión function x=resta_r(a,b,n) % x=resta_r(a,b,n) devuelve la resta a - b, realizada con n dígitos % decimales de precisión function x=prod_r(a,b,n) % x=prod_r(a,b,n) devuelve el productode a y b, realizado con n dígitos % decimales de precisión function x=div_r(a,b,n) % x=div_r(a,b,n) devuelve la división a / b, realizada con n digitos % decimales de precisión function x=exp_r(a,b,n) % x=exp_r(a,b,n) devuelve "a" elevado a "b", realizado con n dígitos % decimales de precisión; atención, sólo funciona para b entero mayor % o igual que 0 function x=redond(a,n) % x=redond(a,n)devuelve en x el valor "a" redondeado a n dígitos % decimales de precisión

La ecuación de segundo grado
Las raíces de la ecuación de segundo grado ax2+bx+c=0 se pueden calcular mediante las expresiones

Una función implementada en Matlab que calcule las dos raíces utilizando estas expresiones podría ser la siguiente:
function [x1,x2] = raices1(a,b,c,n) % Calcula las dos raices de la ecuacion desegundo grado ax2+bx+c=0, % realizando las operaciones con n digitos de precision. y = prod_r(b,b,n); z = prod_r(4,prod_r(a,c,n),n); d = resta_r(y,z,n); s = redond(sqrt(d),n); x1 = div_r(suma_r(-b,s,n),prod_r(2,a,n),n); x2 = ... COMPLETAR ... % % % % % calcula el cuadrado de b calcula 4ac calcula el discriminante calcula la raiz x1 = (-b+s)/(2*a)

Ejercicio 1: Completa la función anterior yutilízala para resolver una cierta ecuación (valores de a, b, c fijos) variando los valores de n (por ejemplo, entre 1 y 16). Observa que para diferentes precisiones (valores de n) los resultados varían. La lógica nos hace pensar que los resultados más cercanos al valor correcto se obtienen en el caso en que más dígitos de precisión se utilizan. Sin embargo, no conviene fiarse de la lógica: vamos...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Epsilon
  • Epsilon
  • Ejercicio EPSILON
  • Epsilon-Delta
  • Epsilon
  • Epsilones
  • Peticion Lexi Epsilon Greywinds
  • The Epsilon Program

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS