.. module:: biseccio Mètode de la bisecció --------------------- El `mètode de la bisecció `__ és un algorisme de cerca d'arrels d'una funció contínua en un interval. L'algorisme defineixen tres successions :math:`a_n \le r_n \le b_n` que convergeixen a la mateixa arrel, per :math:`n > 0`: .. math:: r_n = \frac{a_n+b_n}{2}, \quad a_{n+1} = \begin{cases} a_n & \mbox{si } f(a_n)\cdot f(r_n) <0 \\ r_n & \mbox{si } f(a_n)\cdot f(r_n) > 0\end{cases}, \quad b_{n+1} = \begin{cases} b_n & \mbox{si } f(b_n)\cdot f(r_n) < 0 \\ r_n & \mbox{si } f(b_n)\cdot f(r_n) > 0\end{cases} Els valors inicials són: .. math:: a_0 := a,\quad b_0:=b Dissenya la funció següent i desa-la al mòdul :mod:`biseccio` (fitxer :file:`biseccio.py`). .. function:: succ_biseccio(f, a, b, eps) Calcula la successió :math:`(a_i, b_i)` per :math:`0 \le i \le n` fins al primer :math:`n` que compleixi :math:`|a_n - b_n| < \text{eps}`. :param function f: funció de la qual volem trobar un zero a l'interval :math:`[a, b]` :rtype: list(tuple) :return: llista de les tuples :math:`(a_i, b_i)` Per exemple: .. literalinclude:: test-succ_biseccio.txt :language: pycon :start-after: ---- inici :end-before: ---- fi Disposes de més tests al fitxer :download:`test-succ_biseccio.txt`. .. note:: El paràmetre :code:`f` és una funció i es crida en el cos de la funció :func:`succ_biseccio` amb la sintaxi habitual: :code:`f(a)` per exemple.