BisectionMethodJupyterNotebook
创始人
2024-12-19 06:00:45
0

二分法是一种求函数零点的经典算法,也被称为二分查找。其核心思想是将函数定义域分成两个部分,判断零点在哪一部分,然后继续迭代,最终收敛到某个精度范围内的零点。

以下是二分法的 Jupyter Notebook 示例:

import numpy as np
import matplotlib.pyplot as plt

def bisection(f, a, b, tol=1e-6):
    """
    :param f: The function to find the root of
    :param a: The left end point
    :param b: The right end point
    :param tol: The tolerance (default 1e-6)
    :return: The root of the equation
    """
    if f(a) * f(b) > 0:
        raise ValueError("f(a) and f(b) must have opposite signs!")
    
    while abs(b - a) > tol:
        m = (a + b) / 2.0
        if f(m) == 0 or abs(b - a) < tol:
            return m
        elif f(m) * f(a) < 0:
            b = m
        else:
            a = m
    
    return (a + b) / 2.0

f = lambda x: np.sin(x) - x / 2
root = bisection(f, 0, 2)

x = np.linspace(-2, 2, 100)
plt.plot(x, f(x))
plt.plot(root, f(root), 'ro')
plt.show()

print(root)

此示例演示了如何使用二分法求解方程 sin(x) - x / 2 = 0 的根。函数 bisection 是二分法的实际计算函数,使用输入的左右端点不断迭代直至满足一定的迭代条件。而在函数中,先判断左右端点函数值符号是否相反,若否则不满

相关内容

热门资讯

两分钟了解!兴动棋牌有挂吗谁用... 两分钟了解!兴动棋牌有挂吗谁用了,天天开心十三水攻略,必胜教程(有挂教程)1、起透看视 兴动棋牌有挂...
必备攻略!老乡互娱有挂吗(透明... 必备攻略!老乡互娱有挂吗(透明挂)一直真的是有挂(2025已更新)(哔哩哔哩);1、进入游戏-大厅左...
7分钟了解!钱塘十三水真的有外... 7分钟了解!钱塘十三水真的有外 挂吗,衡阳丫丫字牌有挂吗,总结教程(有挂软件)1、首先打开钱塘十三水...
玩家爆料!永州扯胡子有吗(透视... 玩家爆料!永州扯胡子有吗(透视辅助)一直真的是有挂(2025已更新)(哔哩哔哩);进入游戏-大厅左侧...
详细说明!欢喜广西麻将八张有挂... 详细说明!欢喜广西麻将八张有挂么(透视)一直真的是有挂(2025已更新)(哔哩哔哩)1、首先打开欢喜...
十分钟了解!雀友游戏有挂吗,心... 十分钟了解!雀友游戏有挂吗,心悦海南,技巧教程(有挂总结)1、雀友游戏有挂吗ai辅助优化,雀友游戏有...
分享实测!哈灵辅助器怎么使用(... 分享实测!哈灵辅助器怎么使用(辅助挂)本来是真的有挂(2021已更新)(哔哩哔哩)1)哈灵辅助器怎么...
四分钟了解!顺欣茶楼有假吗,聚... 四分钟了解!顺欣茶楼有假吗,聚游广东麻将339有挂吗,大神讲解(有挂黑科技)聚游广东麻将339有挂吗...
大神推荐!网易棋牌可以不(透视... 大神推荐!网易棋牌可以不(透视辅助)原来是有挂(2022已更新)(哔哩哔哩);1、这是跨平台的网易棋...
9分钟了解!福建天天开心软件,... 9分钟了解!福建天天开心软件,中至吉安辅助器免费下载,扑克教程(有挂介绍)1、中至吉安辅助器免费下载...