Wednesday, May 31, 2017

Métodos numéricos 31/5/17

a) Buscar con NR un cero de e^x - x^2 -5 partiendo de x0=2.5 con N=6
     i) Evaluar h(XSOL)
     ii) Hacer con biseccion en [0 , 6] con e=h(XSOL)
     iii) Modificar ligeramente función bisección para contar cuantos pasos hubo que hacer
b) Hallar soluciones de 7 cos(x)=x^2 usando NR a partir de

     i) x0=0,1 con N=5
     ii)) x0=0,1 con N=8
     iii) x0=0,3 con N=8

función bisección 
función NR 

a)
i)
>> h=@(X) exp(X) - X.^2-5;
>> dh=@(X) exp(X)-2*X;
>> xsol=NR(h,dh,2.5,6)

xsol =

    2.3564

>> h(xsol)

ans =

 -1.7764e-015

ii)

>> y=biseccion(h,0,6,10^(-10))

y =

    2.3564

>> h(y)

ans =

  8.2333e-011

>> 

iii)
modifico function biseccion:

function N=biseccion(f,a,b,epsilon)
N=1;
if nargin==3
    epsilon=10^(-10);
end
if f(a)*f(b)>=0
    error('f(a) y f(b) tienen que tener signos opuestos');
else
m=(a+b)/2;
while f(m)^2+(((b-a)^2)/((b+a)/2)^2)>epsilon^2
    N=N+1;
    if f(m)==0
        return;
    elseif sign(f(m))==sign(f(a))
        a=m;
        m=(a+b)/2;
    else
        b=m;
        m=(a+b)/2;
    end
end
end
       
y obtengo:

>> N=biseccion(h,0,6,10^(-10))

N =

    37

>>

comprobado, h(xsol) se acerca mucho a 0.


No comments:

Post a Comment