Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function [raizaproximada, iteraciones] = biseccion(funcion, A, B, Tolerancia, Iteracionesmaximas)
- raizaproximada = A; // Esto es para que en la primera iteracion no de error.
- iteraciones = 0;
- while 1
- raizaproximadaanterior = raizaproximada;
- raizaproximada = (A+B)/2;
- errorabsoluto = abs((raizaproximada-raizaproximadaanterior)/raizaproximada)*100;
- r = funcion(raizaproximada);
- a = funcion(A); // Evaluo A en la funcion, y lo guardo en a.
- b = funcion(B); // Evaluo B en la funcion y lo guardo en b.
- if( a*r < 0 ) then
- B = raizaproximada;
- else
- A = raizaproximada;
- end
- iteraciones = iteraciones + 1;
- if(errorabsoluto < Tolerancia | iteraciones == Iteracionesmaximas ) then
- break
- end
- end
- endfunction
- //Datos
- function y = primera(x)
- y = %e^x + 2^-x + 2*cos(x) - 6;
- endfunction
- A = 1;
- B = 2;
- Tolerancia = 0.00001;
- Iteracionesmaximas = 100;
- [raizaproximada, iteraciones] = biseccion(primera, A, B, Tolerancia, Iteracionesmaximas)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement