Вы находитесь на странице: 1из 9

RAÍZ DE UNA FUNCIÓN METODO DE BISECCIÓN

Si f es una función continua sobre el intervalo [a,b] y si f(a) f(b)<0, entonces f debe tener un cero en
(a,b). Dado que f(a)f(b)<0, la función cambia de signo en el intervalo [a,b] y por lo tanto tiene por lo
menos un cero en el intervalo.
Esta es una consecuencia del teorema del valor intermedio para funciones continuas, que establece
que si f es continua en [a,b] y si k es un número entre f(a) y f(b) , entonces existe por lo menos un
c (a,b) tal que f(c)=k. (para el caso en que f(a)f(b)<0 se escoge k=0, luego f(c)=0, c (a,b)).
El método de bisección consiste en dividir el intervalo en 2 subintervalos de igual magnitud,
reteniendo el subintervalo en donde f cambia de signo, para conservar al menos una raíz o cero, y
repetir el proceso varias veces.

El Método de Bisección, conocido también como de corte binario, de partición en dos intervalos
iguales o método de Bisección, es un método de búsqueda incremental donde el intervalo se divide
siempre en dos. Si la función cambia de signo sobre un intervalo, se evalúa el valor de la función en
el punto medio. La posición de la raíz se determina situándola en el punto medio del subintervalo
dentro del cual ocurre un cambio de signo. El proceso se repite hasta obtener una mejor
aproximación.

Algoritmo
primero se inserta la ecuación a resolver, después se ingresaría la derivada, pero como este
programa ya está programada para derivar entonces no es necesario este paso. Después se da un
valor inicial o también un valor muy próximo a la raíz para iniciar, después se introducirá el error
limite o tolerancia, esto es para que el programa sepa cuando detenerse. Después se calcula tan
solo dando enter, y luego se ponen los valores de x y los de y con una característica cada uno, x
pone sus valores entre unos signos [ ] & y tiene que anteponer un punto antes de cada x y cada
signo ^, para luego después poner plot(x,y), esto es para graficar la función y visualizar el cero. Una
vez realizados estos pasos ya hemos concluido con las iteraciones por lo tanto se imprime el
resultado y obtenemos el cero, no es un método exacto, pero si es muy aproximado. (Eloradana,
2014)
Diagrama de flujo
PROGRAMA
%metodo biseccion
%f(x)=x^3+4*x^2-10
clear all
syms x;
f=@(x) x^3+4*x^2-10;
a=0;
b=3;
tol=0.0001;
x=(a+b)/2;
n=0;
while abs(f(x))>tol
if f(a)*f(x)<0
b=x;
else
a=x;
end
x=(a+b)/2;
n*n*1;
fprintf('iteracion %d \n',n);
fprintf('raiz aproximada');
disp(x);
end

x=-4:0.01:5;
y=x.^3+4*x.^2-10;
plot(x,y)
clear all

EJECUCIÓN
>> raiz_x_biseccion
iteracion 0
raiz aproximada 0.7500
iteracion 0
raiz aproximada 1.1250
iteracion 0
raiz aproximada 1.3125
iteracion 0
raiz aproximada 1.4063
iteracion 0
raiz aproximada 1.3594
iteracion 0
raiz aproximada 1.3828
iteracion 0
raiz aproximada 1.3711
iteracion 0
raiz aproximada 1.3652
RAÍZ DE UNA FUNCIÓN METODO DE NEWTON RAPHSON
Este método es similar al de la Secante, la diferencia esencial radica en que en la Secante se utiliza
el método de diferencias divididas para aproximar f ‘(x). El método de Newton-Raphson asume que
la función f(x) es derivable sobre un intervalo cerrado [a,b]. Entonces f(x) tiene una pendiente definida
y una única línea tangente en cada punto en [a,b]. La tangente en (x0,f(x0)) es una aproximación a
la curva de f(x) cerca del punto (x0,f(x0) ). En consecuencia, el cero de la línea tangente es una
aproximación del cero de f(x).
Calculamos la primera aproximación, x1, como el cero de la línea tangente en un punto inicial
x0 dado.
Calculamos la segunda aproximación, x2, como el cero de la línea tangente en la primera
aproximación x1.
Siguiendo el esquema mostrado más abajo, las primeras dos aproximaciones de raíces usando el
método
Newton-Raphson, se buscan con el mismo criterio del método de la Bisección
El método de Newton-Raphson esta basado prácticamente en un formula, que es la siguiente..

donde:

X2 es la posición final
X1 que es la posición inicial
f(X1) es la formula inicial dada
f'(X1) es la derivada de la función o formula inicial dada

Algoritmo
lo primero que se hace en este programa es abrirlo, ya sea desde donde se encuentra ubicado, o
abrir Matlab y en la ventana de comandos presionar la opción abrir y se busca desde ahí, una vez
teniendo este archivo abierto, se le presiona correr, luego de ello te pide que ingreses una función,
la ingresamos y damos enter, luego nos pide un valor inicial, esto es para que el programa tenga un
aproximado por dónde empezar para que arroje un resultado, después nos pide el límite de error
esto es la tolerancia, lo que le indicará al programa que debe de parar y solucionar.

Después ya teniendo los resultados se ingresa un valor de x, esto se hace entre corchetes y
separando los números con dos puntos, este como solo le damos un valor inicial suponemos que el
otro valor es cero, luego se ingresa la tolerancia, ósea que queda entre el cero, la tolerancia y el
valor inicial, ejemplo x=[0:tolerancia:valorinicial].

luego ingresamos el valor de y, que es la función, para esto se antepone un punto entre
cada número y la x, también se antepone un punto después de la x antes de un signo de
exponente (^). teniendo la función ingresada se ingresa el comando plot y este solamente se pondrá
plot(x,,y) y el programa automáticamente arrojará la gráfica.
Diagrama de flujo
Ejercicio 1
%Limpiamos la pantalla y mostramos el nombre del método
clear
clc
disp('Metodo de Newton Raphson')

%Introducimos la función,la derivada, el punto de inicio,así como


%porcentaje de error
%f=input('Introduzca la funcion f(x):','s');
%d=input('Introduzca la derivada de la funcion dy/dx:','s');
syms x;
f= x^3+4*x^2-10;
disp('La función f es: ');
f
fprintf('La derivada de la función es; \n');
d=diff(f,x)
pi=input('Introduzca el punto de inicio:');
err=input('Porcentaje de error:');

%Graficamos la función
ezplot(f)
grid on

%cambiamos las expresiones ingresadas de string a funciones


d=inline(d);
f=inline(f);

ea=100;
j=0;
while ea>err
%Aproximamos la raiz con la fórmula correpondiente
xi=pi-(f(pi)/d(pi));
%Calculamos el porcentaje de error
ea=abs(((xi-pi)/xi)*100);
pi=xi;
j=j+1;
end

%Mostramos los resultados en pantalla (con 3 decimales)


fprintf('\nRaiz= %10.3f en %d Iteraciones',pi,j)

Ejecución
Metodo de Newton Raphson
La función f es:
f=
x^3 + 4*x^2 - 10
La derivada de la función es;
d=
3*x^2 + 8*x
Introduzca el punto de inicio:1.5
Porcentaje de error:0.001
Raiz= 1.365 en 4 Iteraciones>>
Ejercicio 2
%Limpiamos la pantalla y mostramos el nombre del método
clear
clc
disp('Raiz de una función con el Metodo de Newton Raphson')

%Introducimos la función,la derivada, el punto de inicio,así como


%porcentaje de error
f=input('Introduzca la funcion f(x):','s');
d=input('Introduzca la derivada de la funcion dy/dx:','s');
pi=input('Introduzca el punto de inicio:');
err=input('Porcentaje de error:');

%Graficamos la función
ezplot(f)
grid on

%cambiamos las expresiones ingresadas de string a funciones


d=inline(d);
f=inline(f);

ea=100;
j=0;
while ea>err
%Aproximamos la raiz con la fórmula correpondiente
xi=pi-(f(pi)/d(pi));
%Calculamos el porcentaje de error
ea=abs(((xi-pi)/xi)*100);
pi=xi;
j=j+1;
end

%Mostramos los resultados en pantalla (con 3 decimales)


fprintf('\nRaiz= %10.3f en %d Iteraciones',pi,j)

Ejecución
Raiz de una función con el Metodo de Newton Raphson
Introduzca la funcion f(x):x^3+4*x^2-10
Introduzca la derivada de la funcion dy/dx:3*x^2+8*x
Introduzca el punto de inicio:1.5
Porcentaje de error:0.001

Raiz= 1.365 en 4 Iteraciones>>


Método de la Secante
En análisis numérico el método de la secante es un método para encontrar los ceros de una
función de forma iterativa.
Es una variación del método de Newton-Raphson donde en vez de calcular la derivada de la función
en el punto de estudio, teniendo en mente la definición de derivada, se aproxima la pendiente a la
recta que une la función evaluada en el punto de estudio y en el punto de la iteración anterior. Este
método es de especial interés cuando el coste computacional de derivar la función de estudio y
evaluarla es demasiado elevado, por lo que el método de Newton no resulta atractivo.
En otras palabras, el método de la secante es un algoritmo de la raíz de investigación que utiliza una
serie de raíces de las líneas secantes para aproximar mejor la raíz de una función f. El método de la
secante se puede considerar como una aproximación en diferencias finitas del método de Newton-
Raphson. Sin embargo, este método fue desarrollado independientemente de este último

Ejercicio 1

%Limpiamos la pantalla y mostramos el nombre del método


clear
clc
disp('Metodo de la secante para la raiz de una función')

syms x;
cf=input('ingrese la función');
f= inline(cf);
disp('ingrese dos valores iniciales');
x0=input('ingrese el primer valor x0: ');
x1=input('ingrese el segundo valor x1: ');
tol=input('ingrese la tolerancia de error en %: ');
error=100;
n=1;
disp(' n x0 x1 raíz aprox error(%)')

while(error>tol)
x2=x1-f(x1)*(x1-x0)/(f(x1)-f(x0));
error=abs((x2-x1)/x2*10);
fprintf('\t%i\t%4.6f\t%4.6f\t%4.6f\t%4.6f\n',n,x0,x1,x2,error);
x0=x1;
x1=x2;
n=n+1;
end
fprintf('\n La raíz de la función es = %10.5f ',x2)

%Graficamos la función
ezplot(f)
grid on

Ejecución
Metodo de la secante para la raiz de una función
ingrese la función x^3+4*x^2 -10
ingrese dos valores iniciales
ingrese el primer valor x0: 0
ingrese el segundo valor x1: 1
ingrese la tolerancia de error en %: 0.001
n x0 x1 raíz aprox error(%)
1 0.000000 1.000000 2.000000 5.000000
2 1.000000 2.000000 1.263158 5.833333
3 2.000000 1.263158 1.338828 0.565195
4 1.263158 1.338828 1.366616 0.203338
5 1.338828 1.366616 1.365212 0.010288
6 1.366616 1.365212 1.365230 0.000133

La raíz de la función es = 1.36523 >>

Вам также может понравиться