Sei sulla pagina 1di 2

function biseccion (a,b,eps,N)

trazaB(a,b,500)

SolucionHallada=0

if f(a)*f(b)>=0

print('No es un problema valido. Cambiar el intervaloinicial\n')

else

i=1 FA=f(a)

while i<=N

c=(a+b)/2

FC=f(c)

FB=f(b)

printf('%2d %10.7f %10.7f %10.7f %10.7f %10.7f %10.7f %10.7f\n',i,a,c,b,FA,FC,FB,(b-a)/2)

if FC==0|(b-a)/2<eps then

printf("La solucion hallada en %d iteraciones es %12.8f\n",i,c)

SolucionHallada=1

break

end

i=i+1 %%incrementa el contador de iteraciones

if FA*FC>0 then

a=c

FA=FC

else

b=c

end %%if

end %%cierra el bloque while

end

if SolucionHallada==0 then

printf("El metodo no convergio despues de %iteraciones elegir un N mas grande\n",N )

end
endfunction//termina la funcion

%%//meter aqui las funciones traza y f trazaB

Potrebbero piacerti anche