Sunteți pe pagina 1din 1

6/3/2018 Algoritmo de Bisección de Cálculo Numérico en Scilab.

· GitHub

Instantly share code, notes, and snippets. Create a gist now

Reflej0 / biseccion.sce
Created 10 months ago

Algoritmo de Bisección de Cálculo Numérico en Scilab.

biseccion.sce

1 function [raizaproximada, iteraciones] = biseccion(funcion, A, B, Tolerancia, Iteracionesmaximas)


2 raizaproximada = A; // Esto es para que en la primera iteracion no de error.
3 iteraciones = 0;
4 while 1
5 raizaproximadaanterior = raizaproximada;
6 raizaproximada = (A+B)/2;
7 errorabsoluto = abs((raizaproximada-raizaproximadaanterior)/raizaproximada)*100;
8 r = funcion(raizaproximada);
9 a = funcion(A); // Evaluo A en la funcion, y lo guardo en a.
10 b = funcion(B); // Evaluo B en la funcion y lo guardo en b.
11 if( a*r < 0 ) then
12 B = raizaproximada;
13 else
14 A = raizaproximada;
15 end
16 iteraciones = iteraciones + 1;
17 if(errorabsoluto < Tolerancia | iteraciones == Iteracionesmaximas ) then
18 break
19 end
20 end
21 endfunction
22
23 //Datos
24
25 function y = primera(x)
26 y = %e^x + 2^-x + 2*cos(x) - 6;
27 endfunction
28
29
30 A = 1;
31 B = 2;
32 Tolerancia = 0.00001;
33 Iteracionesmaximas = 100;
34 [raizaproximada, iteraciones] = biseccion(primera, A, B, Tolerancia, Iteracionesmaximas)

https://gist.github.com/Reflej0/cacf4ab67ebacb3951695a51395a7896 1/1

S-ar putea să vă placă și