0% encontró este documento útil (0 votos)
16 vistas2 páginas

23/05/21 12:15 PM C:/Users/Jarje/Onedrive/Es... /Untitled.M 1 of 2

Este documento describe el método de la bisección para encontrar las raíces de una función mediante la iteración de dividir el intervalo que contiene la raíz. El método requiere los extremos del intervalo inicial, la tolerancia y la función. Calcula el número de iteraciones necesarias y va reduciendo el intervalo hasta encontrar la aproximación de la raíz dentro de la tolerancia.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
16 vistas2 páginas

23/05/21 12:15 PM C:/Users/Jarje/Onedrive/Es... /Untitled.M 1 of 2

Este documento describe el método de la bisección para encontrar las raíces de una función mediante la iteración de dividir el intervalo que contiene la raíz. El método requiere los extremos del intervalo inicial, la tolerancia y la función. Calcula el número de iteraciones necesarias y va reduciendo el intervalo hasta encontrar la aproximación de la raíz dentro de la tolerancia.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

23/05/21 12:15 PM C:\Users\jarje\OneDrive\Es...\Untitled.

m 1 of 2

% Método de la Bisección
% ingrese todos los datos del problema
clear
format long
clc
%funcion del lado derecho f(x)=0
funcion=inline('exp(x)-cos(x)-x.^2/2-1','x');

%Paso 1: Ingreso de datos del problema


a=input('Ingrese el extremo izquierdo del intervalo a: ');
b=input('Ingrese el extremo derecho del intervalo b: ');
tol=input('Ingrese el valor de la tolerancia: ');

%Paso 2: Cuerpo del programa


i=1;
a(i)=a;
b(i)=b;
if(funcion(a)*funcion(b)>0)
error('la funcion no tiene raices en el intervalo')
end
%Calculo del numero de iteraciones
m=log2((b-a)/tol);
if round(m)>m
n=round(m);
fprintf('\nEl numero de iteraciones necesarias son %d: \n',n);
else
n=round(m)+1;
fprintf('\nEl numero de iteraciones necesarias son %d: \n',n);
end
fa(i)=funcion(a(i));
fb(i)=funcion(b(i));
while(abs(b(i)-a(i))>tol)
if(fa(i)*fb(i)==0)

if(fa(i)==0)
y(i)=a(i);
break
else
y(i)=b(i);
break
end
else
y(i)=(a(i)+b(i))/2;
fp(i)=funcion(y(i));
if (fa(i)*fp(i)>0)
a(i+1)=y(i);
b(i+1)=b(i);
fa(i+1)=fp(i);
fb(i+1)=fp(i);
i=i+1;
else
23/05/21 12:15 PM C:\Users\jarje\OneDrive\Es...\Untitled.m 2 of 2

a(i+1)=a(i);
b(i+1)=y(i);
fa(i+1)=fa(i);
fb(i+1)=fp(i);
i=i+1;
end
end
end

%Paso 3 ,Elaboracion de tabla


fprintf(' n a b p f(a) f(b) f(b)\n')
N=length(y);
for i =1:N
fprintf('%4.1f %11.6f %11.6f %11.6f %11.6f %11.6f %11.6f\n',i,a(i),b(i),y(i),fa(i),fb(i),
fp(i))
end
fprintf('la aproximacion a la solucion de la ecuacion es\n:')
fprintf('%10.6f',y(N))

% Paso 4 Elaboracion de graficas


z=a:0.01:b;
plot(z,funcion(z),'r')
hold on
plot(y,fp,'+:b')

También podría gustarte