0% encontró este documento útil (0 votos)
44 vistas1 página

Codigo Tarea 2

El documento presenta un código en MATLAB que implementa el método de bisección para encontrar raíces de una función. Solicita al usuario la función, los extremos del intervalo, la tolerancia y el número máximo de iteraciones, y muestra el progreso del cálculo. Si no se cumple la condición de que la función tenga signos opuestos en los extremos, indica que no existe raíz en el intervalo dado.

Cargado por

Karina Mantilla
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 TXT, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
44 vistas1 página

Codigo Tarea 2

El documento presenta un código en MATLAB que implementa el método de bisección para encontrar raíces de una función. Solicita al usuario la función, los extremos del intervalo, la tolerancia y el número máximo de iteraciones, y muestra el progreso del cálculo. Si no se cumple la condición de que la función tenga signos opuestos en los extremos, indica que no existe raíz en el intervalo dado.

Cargado por

Karina Mantilla
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 TXT, PDF, TXT o lee en línea desde Scribd

f=input('Ingrese la funcin :' , 's');

f=inline(f);
a=input('Ingrese el extremo inferior del intervalo:');
b=input('Ingrese el extremo superior del intervalo: ');
tol=input('Ingrese la tolerancia: ');
n=input('Ingrese el numero mximo de iteraciones:');
if (f(a)*f(b)<0)
i=1 ;
e=1000;
fprintf('Iter.\t\t inf.\t\t\t\t Sup.\t\t\t\t Raiz\t\t\t\t Error\n');
while (e>=tol && i<=n)
c=(a+b)/2;
if (i==1)
fprintf('%2d\t\t%12.10f\t\t\t%12.10f\t\t\t%12.10f\t\t\t"------"\n',i,a,b,c);
end
if (f(a)*f(c)<0)
b=c;
end
if (f(b)*f(c)<0)
a=c;
end
r=c;
c=(a+b)/2;
e=abs(((c-r)/c)*100);
i=i+1;
fprintf('%2d\t\t%12.10f\t\t\t%12.10f\t\t\t%12.10f\t\t\t%12.10f\n',i,a,b,c,e
);
end
fprintf('Raiz=%12.10f\n' , c );
fprintf('ERROR=%12.10f\n',e );
else
fprintf('No existe raiz en este intervalo o debe elegir otro metodo' );
end

También podría gustarte