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

Metodos numericos


Enviado por   •  3 de Octubre de 2015  •  Tarea  •  604 Palabras (3 Páginas)  •  140 Visitas

Página 1 de 3

Nombre: Angeles Pérez G. Viridiana

Métodos Numéricos

Profesor: Juan Carlos Aguilar

Para poder comprobar los resultados de mis cálculos utilicé la graficadora para detectar las raíces de la función y posteriormente poner los puntos iniciales (xo) en el programa...

Utilicé los puntos xo=0, xo=1.2 y xo=6.

[pic 1][pic 2][pic 3]

CÓDIGO

f=input('ingresa la funcion:'); %para meter la función principal

g=input('ingresa la derivada:' ); %para meter la derivada ya que el “symbolic” no se ejecuta en mi linux

x0=input ('ingresa el valor de x0:'); %para ingresar el valor inicial

n=input('ingresa el numero de iteraciones maximo a realizar:'); %para que solo llegue a ciertas iteraciones

e=input('ingresa el error:'); %para saber hasta donde parará el programa para encontrar una solución

fprintf('\n'); %imprimo un salto de línea para que no se vea amontonado jaja

f=inline(f); %convierte texto la funcion para poder evaluar

g=inline(g); %convierte texto la funcion ya derivada para poder evaluar

xnueva=x0; %al comienzo xnueva será el valor con el que quiero empezar a calcular

iter=0; %las iteraciones por default empezaran en 0

ea=1; %el error absoluto lo utilizo para que el usuario no meta valores más grandes de e y para que el programa pare cuando el error vaya aumentando, eso quiere decir que no me acerco a la raiz

xanterior=x0; %al comienzo también xanterior será con el valor con el que empiezo a calcular

diverge=0; %bandera

fprintf('\n'); %otro salto de línea

fprintf('i \t xi \t \t f(xi) \t\t fp(xi) \t\t ea\n') %escribe el encabezado

fprintf('\n'); %otro salto de línea

while(ea>e & iter %mientras el error absoluto sea mayor al error que yo di y las iteraciones sean menores a las que yo puse, entonces:

        xnueva=xanterior-(f(xanterior)/g(xanterior)); %xnueva(xi+1) será igual a xanterior(xi) menos la función f evaluada en la xanterior(xi) entre la función derivada evaluada en la xanterior(xi)

        iter=iter+1; %aquí las iteraciones se incrementan

        if (xnueva-=0) %si la xnueva(xi+1) es diferente de 0

                ea=abs((xnueva-xanterior)/xnueva); %el error es igual el valor absoluto (abs) %el error absoluto va ser igual a la xnueva(xi+1) menos la xanterior(xi) entre la xnueva(xi+1)

...

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