如何在Python中进行二分法

2023-11-24

我想制作一个 Python 程序,它将运行二分法来确定以下各项的根:

f(x) = -26 + 85x - 91x2 +44x3 -8x4 + x5

二分法是一种用于估计多项式 f(x) 根的数值方法。

是否有任何可用的伪代码、算法或库可以用来告诉我答案?


基本技术

下面是一些展示基本技术的代码:

>>> def samesign(a, b):
        return a * b > 0

>>> def bisect(func, low, high):
    'Find root of continuous function where f(low) and f(high) have opposite signs'

    assert not samesign(func(low), func(high))

    for i in range(54):
        midpoint = (low + high) / 2.0
        if samesign(func(low), func(midpoint)):
            low = midpoint
        else:
            high = midpoint

    return midpoint

>>> def f(x):
        return -26 + 85*x - 91*x**2 +44*x**3 -8*x**4 + x**5

>>> x = bisect(f, 0, 1)
>>> print(x, f(x))
0.557025516287 3.74700270811e-16

宽容

要在达到给定容差时提前退出,请在循环末尾添加测试:

def bisect(func, low, high, tolerance=None):
    assert not samesign(func(low), func(high))   
    for i in range(54):
        midpoint = (low + high) / 2.0
        if samesign(func(low), func(midpoint)):
            low = midpoint
        else:
            high = midpoint
        if tolerance is not None and abs(high - low) < tolerance:
            break   
    return midpoint
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在Python中进行二分法 的相关文章

  • Python 中的舍入浮点问题

    我遇到了 np round np around 的问题 它没有正确舍入 我无法包含代码 因为当我手动设置值 而不是使用我的数据 时 返回有效 但这是输出 In 177 a Out 177 0 0099999998 In 178 np rou
  • Pandas/Google BigQuery:架构不匹配导致上传失败

    我的谷歌表中的架构如下所示 price datetime DATETIME symbol STRING bid open FLOAT bid high FLOAT bid low FLOAT bid close FLOAT ask open
  • 删除flask中的一对一关系

    我目前正在使用 Flask 开发一个应用程序 并且在删除一对一关系中的项目时遇到了一个大问题 我的模型中有以下结构 class User db Model tablename user user id db Column db String
  • 使用 kivy textinput 的 'input_type' 属性的问题

    您好 我在使用 kivy 的文本输入小部件的 input type 属性时遇到问题 问题是我制作了两个自定义文本输入 其中一个称为 StrText 其中设置了 input type text 然后是第二个文本输入 名为 NumText 其
  • 使用字典映射数据帧索引

    为什么不df index map dict 工作就像df column name map dict 这是尝试使用index map的一个小例子 import pandas as pd df pd DataFrame one A 10 B 2
  • n 或 nlog(n) 比常数时间或对数时间更好吗?

    在 Coursera 上的普林斯顿教程中 讲师解释了遇到的常见增长顺序函数 他说 线性和线性算术运行时间是 我们努力的目标 他的推理是 随着输入大小的增加 运行时间也会增加 我认为这是他犯了错误的地方 因为我之前听过他提到线性增长顺序对于高
  • 在Python中连接反斜杠

    我是 python 新手 所以如果这听起来很简单 请原谅我 我想加入一些变量来生成一条路径 像这样 AAAABBBBCCCC 2 2014 04 2014 04 01 csv Id TypeOfMachine year month year
  • 如何将张量流模型部署到azure ml工作台

    我在用Azure ML Workbench执行二元分类 到目前为止 一切正常 我有很好的准确性 我想将模型部署为用于推理的 Web 服务 我真的不知道从哪里开始 azure 提供了这个doc https learn microsoft co
  • 使用 xlrd 打开 BytesIO (xlsx)

    我正在使用 Django 需要读取上传的 xlsx 文件的工作表和单元格 使用 xlrd 应该可以 但因为文件必须保留在内存中并且可能不会保存到我不知道如何继续的位置 本例中的起点是一个带有上传输入和提交按钮的网页 提交后 文件被捕获req
  • 每个术语出现的次数

    我得到了一个数组a n 2 where n can be 10 5最大时有n个科目和n个学生 全部编号为 1 2 n a i 0 and a i 1 1 lt i lt n 表示在第 i 个科目中 所有来自a i 0 to a i 1 通过
  • 如何使用 Mysql Python 连接器检索二进制数据?

    如果我在 MySQL 中创建一个包含二进制数据的简单表 CREATE TABLE foo bar binary 4 INSERT INTO foo bar VALUES UNHEX de12 然后尝试使用 MySQL Connector P
  • Docker 中的 Python 日志记录

    我正在 Ubuntu Web 服务器上的 Docker 容器中测试运行 python 脚本 我正在尝试查找由 Python Logger 模块生成的日志文件 下面是我的Python脚本 import time import logging
  • pyspark 将 twitter json 流式传输到 DF

    我正在从事集成工作spark streaming with twitter using pythonAPI 我看到的大多数示例或代码片段和博客是他们从Twitter JSON文件进行最终处理 但根据我的用例 我需要所有字段twitter J
  • 加快网络抓取速度

    我正在使用一个非常简单的网络抓取工具抓取 23770 个网页scrapy 我对 scrapy 甚至 python 都很陌生 但设法编写了一个可以完成这项工作的蜘蛛 然而 它确实很慢 爬行 23770 个页面大约需要 28 小时 我看过scr
  • 从 NumPy ndarray 中选择行

    我只想从 a 中选择某些行NumPy http en wikipedia org wiki NumPy基于第二列中的值的数组 例如 此测试数组的第二列包含从 1 到 10 的整数 gt gt gt test numpy array nump
  • 在本地网络上运行 Bokeh 服务器

    我有一个简单的 Bokeh 应用程序 名为app py如下 contents of app py from bokeh client import push session from bokeh embed import server do
  • 二维滑动窗口最小值/最大值

    假设我们得到一个大小为 NxN 的像素整数矩阵和一个整数 k 窗口大小 我们需要使用滑动窗口找到矩阵中的所有局部最大值 或最小值 这意味着 如果某个像素与其周围窗口中的所有像素相比具有最小 最大 值 则应将其标记为最小 最大 有一种著名的滑
  • 使用for循环时如何获取前一个元素? [复制]

    这个问题在这里已经有答案了 可能的重复 Python 循环内的上一个和下一个值 https stackoverflow com questions 1011938 python previous and next values inside
  • Scipy Sparse:SciPy/NumPy 更新后出现奇异矩阵警告

    我的问题是由大型电阻器系统的节点分析产生的 我基本上是在设置一个大的稀疏矩阵A 我的解向量b 我正在尝试求解线性方程A x b 为了做到这一点 我正在使用scipy sparse linalg spsolve method 直到最近 一切都
  • 如何计算Python中字典中最常见的前10个值

    我对 python 和一般编程都很陌生 所以请友善 我正在尝试分析包含音乐信息的 csv 文件并返回最常听的前 n 个乐队 从下面的代码中 每听一首歌曲都是一个列表中的字典条目 格式如下 album Exile on Main Street

随机推荐

  • 使用java从字符串中删除重复的字母

    我需要使用java中的正则表达式操作从字符串中删除重复的字母 例如 王子 gt 王子 苹果 gt 苹果 简单的解决方案 删除重复字符 像这样 final String str APPLEE String replaced str repla
  • 使用 AJAX 上传文件而不使用 FormData (IE9)

    In IE9 FormData不支持 这使得使用上传文件XMLHttpRequest不那么琐碎了 这可以做到吗 我已经看到提到了 iFrame 虽然我不反对编写一些繁琐的代码 但我对如何实现这一目标感到困惑 有很多资源讨论上传到 iFram
  • 使用头文件有哪些优点和缺点? [关闭]

    Closed 这个问题是基于意见的 目前不接受答案 我对 Java C Scala 等编程语言以及 C C Objective C 等较低级编程语言有一些经验 我的观察是 低级语言尝试将头文件和实现文件分开 而其他高级编程语言从不将其分开
  • 在单元测试方法中显示 Windows 窗体

    我刚刚在 Visual Studio NET 中发现了单元测试项目 并使用测试方法来设置我开发的全局代码的示例 一些全局方法涉及显示可重用的对话框 例如日期选择器和输入框 问题是 有时表格会显示 有时则不会 我认为这与模态有关 因为我有一个
  • Kotlin:“return@”是什么意思?

    我在我的一个项目中使用 RxJava 我使用 Android Studio 插件和地图之一将我的类之一转换为 KotlinflatMaplambda java 中的 Func1 中间体返回如下所示 Func1 我不懂这啥意思 somethi
  • 将两个数据框逐个元素粘贴在一起

    我需要逐个元素粘贴两个数据帧的内容以输入到另一个程序 我有一个平均值数据框和一个平均值标准误差数据框 我尝试使用 R Paste 函数 但它似乎无法处理数据框 使用向量时 似乎将第一个向量的所有元素连接到一个字符串中 并将第二个向量的所有元
  • Javascript 中使用双括号调用函数

    当我调用函数时hi 带双括号的函数显示hi输出 它也会给出错误 说hi不是函数 使用的意义是什么 带函数名 如果出现以下情况 双括号会很有用 hi返回了一个函数而不是它的名称 就像 function hi return hello hi 这
  • 查找包含另一个字符串中一个字符串的所有字符的最小窗口的长度

    最近我接受了采访 我做得不好 因为我被以下问题卡住了 假设给出一个序列 A D C B D A B C D A C D 搜索顺序如下 A C D 任务是找到给定字符串中的开始和结束索引 该索引包含保留顺序的搜索字符串的所有字符 Output
  • 如何重载打印函数来扩展其功能?

    我想知道是否有内置功能print可以被覆盖 以便以下语句将同时写入控制台和文件 print test0 test1 test2 sep n 另外 我想知道是否可以修改内置的源代码print功能 使用装饰器 简化示例 def my decor
  • Android 编辑文本 - 光标停留在起始位置

    我在我的项目中使用编辑文本 问题是 每当我在文本框中输入任何内容时 它都会显示出来 但无论我输入多少个字符 光标都不会从其起始位置移动 此外 我无法通过单击文本框中的任何特定字符来移动 我的包含编辑文本的 xml 文件是这样的
  • 如何知道 PHAsset 是否已被修改?

    更具体地说 你如何知道一个PHAsset标的资产的当前版本是否与原始版本不同 我的用户只需在必要时在当前资产或原始资产之间进行选择 然后我需要他们的答案PHImageRequestOptions version 从 iOS 16 开始 PH
  • 如何打开 Chrome DevTools 命令菜单?

    人们如何访问下面屏幕截图中的命令菜单 If you re unable to use keyboard shortcut Cmd Ctrl Shift P you can also click the three stacked dots
  • WPF 中的 x:Reference 何时解析?为什么 XAML 元素顺序会影响它?

    x 在 XAML 中重新排列元素后 无法解析引用 这里我展示一个工作代码 只需移动 DataGrid 元素 使其位于按钮元素之后 ContextMenu 中的 MenuItem 和 Button IsEnabled 中的 MultiBind
  • QTreeWidget 通过拖动重新排序子项

    我有一个 QTreeWidget 它仅显示单个根节点和一级子节点 我需要允许子节点的重新排序 他们绝不能被重新养育 这就是我在 QTreeWidget 中启用项目拖动的方法 ui gt levelElements gt setSelecti
  • 将 RGB 转换为光频率

    是否可以从 RGB 表示中获取颜色的光频率 我发现了相反的过程 1 但我不知道这种方式是否可行 1 http www fourmilab ch documents specrend AFAIK 没有直接的答案 因为多个波长可以组合起来给出相
  • 将 RGB 转换为 RGBA 白色

    我有一个十六进制颜色 例如 F4F8FB or rgb 244 248 251 我想转换成尽可能透明rgba 颜色 显示在白色上时 合理 我正在寻找一种算法 或者至少是一种如何做到这一点的算法的想法 例如 rgb 128 128 255 g
  • 沙箱 JSR-223

    我正在尝试对 JSR 223 进行沙箱处理 具体来说 我不希望任何脚本访问我的任何类 我听说 Rhino 可以使用 ClassShutter 做到这一点 但我想一般地做到这一点 即对于 JSR 223 的所有脚本引擎 我首先尝试使用Acce
  • AngularJS + jQuery Mobile,无适配器和禁用路由 - 仅用于 UI 样式

    我正在学习 AngularJS 并构建了一个小型应用程序 现在它的功能已经完成 我想使用 jQuery Mobile 对其进行设计 本来我是掉进去的tigbro 的 jquery mobile angular adapter 但最终认为它比
  • 用公式作为变量运行小鼠:即时评估而不是稍后评估?

    The R包裹mice附带以下示例 library mice imp lt mice nhanes fit lt with data imp exp lm bmi hyp chl 我想要一个灵活的调用with like model form
  • 如何在Python中进行二分法

    我想制作一个 Python 程序 它将运行二分法来确定以下各项的根 f x 26 85x 91x2 44x3 8x4 x5 二分法是一种用于估计多项式 f x 根的数值方法 是否有任何可用的伪代码 算法或库可以用来告诉我答案 基本技术 下面