ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Método numericos


Enviado por   •  2 de Septiembre de 2019  •  Tutorial  •  719 Palabras (3 Páginas)  •  103 Visitas

Página 1 de 3

Método de bisección

[pic 1]

Inicialmente el método se encuentra en un valor inferior en el intervalo para después acercarse y   converger al punto, sin embargo, se puede ver que el método esta ondeado en torno al valor de la raíz y tarda en estabilizarse.

Método de la secante

[pic 2]

El método inicia con un valor cerca al límite superior, el método obtiene un valor erróneo para la raíz, una vez iniciado el procedimiento, el método converge rápidamente al valor de la raíz.

Método de Newton

[pic 3]

 este método inicia con un valor cercano al límite superior antes de converger, sin embargo, su convergencia ocurre con menor rapidez y tarda en estabilizarse para el margen de error requerido.

Método de punto fijo

[pic 4]

 este método no da un resultado correcto, la aplicación del método muestra que la raíz es -0.040659288315758844, lo cual es incorrecto.

Al comparar los métodos, podemos observar que el método más eficiente es el método de la secante pues en este necesitamos menos iteraciones para llegar a un margen  de precisión deseado.


BISECCION

import matplotlib.pyplot as plt

def f(x):

    y=230*x**4+18*x**3+9*x**2-211*x-9

    return y

a=0

b=1

tol=1E-14

n0=500

i=1

fa=f(a)

fb=f(b)

p_array = []

while i<=n0:

    p=a+(b-a)/2

    p_array.append(p)

    fp=f(p)

    if fp==0 or (b-a)/2

        print("La raiz es ",p)        

        break

    i=i+1

    if fa*fp>0:

        a=p

        fa=fp

    else:

        b=p

        fb=fp

if i>=n0:

    print("El metodo no converge ")

plt.axis([-1, i, 0.4, 1])   

plt.plot(p_array, 'r--')

plt.show()

SECANTE

import matplotlib.pyplot as plt    

def Secante(x0,x1,tol,N,f):

    print(0,x0,x1)

    i=1

    while i<=n0:

        x= x1 - (x1-x0)*f(x1)/(f(x1)-f(x0))  

        p_array.append(x)

        print(i,x)

        if abs(x-x1)

            return x

        i=i + 1

        x0=x1    # redefinir x0

        x1=x     #redefinir x1

    print('El metodo fracaso despues de %d iteraciones' %n0)

  

   

f=lambda x: 230*x**4+18*x**3+9*x**2-211*x-9

x0=2

x1=1

tol=1E-14

n0=500

p_array = []   

x=Secante(x0,x1,tol,n0,f)

print()

print('La raiz es: ',x)

plt.axis([0, 10, 0.9, 1])   

plt.plot(p_array, 'r--')

plt.show()

NEWTON

import matplotlib.pyplot as plt

p_array = []

def Newton(f, dfdx, x, eps):

    f_value = f(x)

    contador = 0

    while abs(f_value) > eps and contador < 500:

...

Descargar como (para miembros actualizados) txt (4 Kb) pdf (83 Kb) docx (25 Kb)
Leer 2 páginas más »
Disponible sólo en Clubensayos.com