Algoritmo Método de Bisección. 1. Definir los valores iniciales del intervalo [𝑎, 𝑏], de tal forma que la función cambie de signo sobre el intervalo, tal que: Como 𝑓(𝑥𝑎 ) 𝑓(𝑥𝑏 ) <0. 2. La primera aproximación a la raíz 𝑥𝑟 se determina con: 𝑐 = (𝑎+𝑏) 2 . 3. Evaluar y determinar, en que subintervalo se encuentra la raíz: 3.1 3.2 3.3 Sí 𝑓(𝑥𝑎 ) 𝑓(𝑥𝑏 ) <0, entonces la raíz se encuentra dentro del primer subintervalo. Por lo tanto, 𝑥𝑏 = 𝑥𝑟 , continuar al punto 4. Sí 𝑓(𝑥𝑎 ) 𝑓(𝑥𝑏 ) >0, entonces la raíz se encuentra dentro del segundo subintervalo. Por lo tanto, 𝑥𝑎 = 𝑥𝑟 , continuar al punto 4. Sí la raíz Sí 𝑓(𝑥𝑎 ) 𝑓(𝑥𝑏 ) =0, entonces la raíz es 𝑥𝑎 . 4. Calcular la nueva aproximación a la raíz con: 𝑥𝑎 , regresar al punto 3. 5. Decidir si la aproximación es tan exacta como se desea, sí es así, 𝑥𝑟 de otra forma se regresa al punto 3. Código y Ejecución. #include<stdio.h> #include<math.h> float fun (float x) { return (exp(-x)-x); } main () { int itr = 0, maxmitr; float x, a, b, tol, x1; printf("\nInsertar limites a, b, error y maximo de iteraciones:"); scanf("%f %f %f %d", &a, &b, &tol, &maxmitr); printf("\n (b-a)/2 fun(a) fun(b) fun(x) a b x\n\n" ); while (((b-a)/2) > tol) { x=(a+b)/2; printf("%9.4f %9.4f %9.4f %9.4f %9.4f %9.4f %9.4f\n",(b-a)/2,fun(a),fun(b),fun(x), a, b,x ); if (fun(x)==0) { return 0; } if ((fun(a)*fun(x)) < 0) { b=x; } else { a=x; } } }