Está en la página 1de 3

3.Sean a y b dos valores exactos ¿Qué sucede cuando digitamos en OCTAVE?

Sume y reste
ambos números exactos y comente los resultados en OCTAVE

>> format long

>> a=0.3333333333333298

a = 3.333333333333298e-01

>> A=0.3333333333333299

A = 3.333333333333299e-01

>> B=0.3333333333333190

B = 3.333333333333190e-01

>> b=0.3333333333333187

b = 3.333333333333187e-01

>> Ea=abs(a-A)

Ea = 5.551115123125783e-17

>> Er=Ea/a

Er = 1.665334536937752e-16Er = 1.665334536937752e-16

>> EA=abs(b-B)

EA = 2.775557561562891e-16

>> ER=EA/b

ER = 8.326672684689039e-16

Se concluye que los cálculos efectuados en la calculadora científica son mas exactos que los
efectuados en octave.

5.Eligiendome adecuadamente valores próximos a cero, muestre en OCTAVE que la


expresión f=(1-cosx)/(x*x)

puede presentar cancelación numérica. Obtenga una expresión equivalente que elimine este
problema.

>> w=0.0000000000000005

w = 5.000000000000000e-16

>> f=(1-cosx)/(x*x)

>> f=(1-cos(w))/(w*w)

f=0
>> F=(2*sin(w/2)*sin(w/2))/w*w

F = 1.250000000000000e-31

8.Considere la función

f=(exp(-x)-1)/x , x>0

La manera,digamos natural, de evaluar f en OCTAVE seria utilizar la expresión f=(exp(-x)-1)/x

x = 5000

>> f=(exp(-x)-1)/x

f = -2.000000000000000e-04

>> x=1

x= 1

>> f=(exp(-x)-1)/x

f = -6.321205588285577e-01

Sin embargo, este algoritmo sufre de cancelación severa cuando abs(x)<<0

Verificando

>> x=5000

x = 5000

>> y=exp(-x)

y=0

>> f=(y-1)/log(y)

f=0

10.Para x e y,evalue las dos siguientes expresiones que son matemáticamente equivalentes y
diga cual de ellos es mejor para no alcanzar overflow

>> x=9.8^(-201)

x = 5.801746992643992e-200

>> y=10.2^(-199)

y = 1.943416203408280e-201

>> z=sqrt(x*x+y*y)

z=0

>> z2=sqrt(((x*y^-1)^2)+1)

z2 = 29.87008654628447
>> y=10.2^(199)

y = 5.145578174383146e+200

>> x=9.8^(201)

x = 1.723618767360746e+199

>> z2=sqrt(((x*y^-1)^2)+1)

z2 = 1.000560870111334

>> z=sqrt(x*x+y*y)

z = Inf

13.Para 100 valores de x sobre el intervalo, evaluar las siguientes dos expresiones que son
matemáticamente equivalentes, hacer la gráfica de ellos y basados en su graficar cual resiste
mejor a la perdida de cifras significativas.

>> x=10^(7.4):10^(8.5);

>>> y2=(2x*x)*(sqrt(2*x*x+1)-1)^(-1);

>> y=sqrt(2*x*x+1)-1;

También podría gustarte