0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何利用Python实现正割算法呢

云深之无迹 来源:云深之无迹 作者:云深之无迹 2022-07-13 09:48 次阅读

正割法是近似的牛顿切线法,把求导用斜率代替,用切线不断逼近函数的单根。

pYYBAGLOJKOAYQ2_AABGf5lgnzo764.jpg

示意图

pYYBAGLOJLmAcoOdAAA7-QwSYEQ221.jpg

迭代的起点

poYBAGLOJNCAKk9jAAB-bSDgQPo113.jpg

推广的公式

poYBAGLOJOmAKUmIAAB7P_uKDDA101.jpg

核心code,直接放上去

poYBAGLOJP-AYlIpAACG78hYIBE887.jpg

眼熟不

poYBAGLOJRiAWzPuAABtPk06EHI705.jpg

你可以编写一个简单的函数来测试这个功能

就是这么简单,当然了字数这么少,还成为不了一篇原创文章。再写一个小程序。

poYBAGLOJTCAZEAEAAC7kP1UPOs255.jpg

我们可以使用Matploatlib的绘图功能模拟

poYBAGLOJUSAbQbmAABoU4krEmI955.jpg

引入

pYYBAGLOJViAL9k8AAB4XGXFOQ4848.jpg

写好要计算的函数

def Y(x):
global i
i = i+1
plt.plot([x, x], [0, (x**3-x-1)])
plt.plot([x, result(x)], [(x**3-x-1), 0])
temp = round(x-result(x), 5)
if(temp == 0.0):
print('正割法第', i, '次')
print('解得:', round(x, 5))
x = result(x)
y = (result(x)**3 - result(x) - 1)
plt.plot(x, y, ".")
plt.plot(x, y, "g-")
plt.annotate("(1.32472,1.32472)", xy=(result(x), (result(x)**3 - result(x) - 1)),
xytext=(result(x) - 0.5, (result(x)**3 - result(x) - 1) + 2), color='k', fontsize=10)
else:
Y(result(x))


Y(2.7)

x = 0
plt.title("secant method")
x = np.linspace(0, 3)
plt.xlim(0, 3) # 固定坐标
plt.ylim(-5, 20)
plt.plot(x, x**3-x-1, "b-")
plt.grid(True)
plt.plot([0, 3], [0, 0], "--")
plt.show()



审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 算法
    +关注

    关注

    23

    文章

    4586

    浏览量

    92457
  • python
    +关注

    关注

    54

    文章

    4763

    浏览量

    84349

原文标题:Python实现所有算法-正割法(Secant)

文章出处:【微信号:TT1827652464,微信公众号:云深之无迹】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    采用pcm9211的模拟输入1K的正弦波信号,发现正弦波信号输出半波了,请问需要怎么设置

    我采用pcm9211的模拟输入1K的正弦波信号,发现正弦波信号输出半波了,请问需要怎么设置
    发表于 10-21 08:24

    利用Python脚本登录到交换机并创建VLAN

    本文将详细介绍如何利用Python脚本登录到交换机并创建VLAN。
    的头像 发表于 08-12 17:59 484次阅读

    Python建模算法与应用

    上成为理想的脚本语言,特别适用于快速的应用程序开发。本文将详细介绍Python在建模算法中的应用,包括常见的建模算法Python在建模中的优势、常用库以及实际案例。
    的头像 发表于 07-24 10:41 391次阅读

    如何实现Python复制文件操作

    Python 中有许多“开盖即食”的模块(比如 os,subprocess 和 shutil)以支持文件 I/O 操作。在这篇文章中,你将会看到一些用 Python 实现文件复制的特殊方法。下面我们开始学习这九种不同的方法来
    的头像 发表于 07-18 14:53 331次阅读

    利用Matlab函数实现深度学习算法

    在Matlab中实现深度学习算法是一个复杂但强大的过程,可以应用于各种领域,如图像识别、自然语言处理、时间序列预测等。这里,我将概述一个基本的流程,包括环境设置、数据准备、模型设计、训练过程、以及测试和评估,并提供一个基于Matlab的深度学习图像分类示例。
    的头像 发表于 07-14 14:21 1759次阅读

    神经网络的基本原理及Python编程实现

    神经网络作为深度学习算法的基本构建模块,模拟了人脑的行为,通过互相连接的节点(也称为“神经元”)实现对输入数据的处理、模式识别和结果预测等功能。本文将深入探讨神经网络的基本原理,并结合Python编程
    的头像 发表于 07-03 16:11 440次阅读

    通过Python脚本实现WIFI密码的自动猜解

    本文将记录学习下如何通过 Python 脚本实现 WIFI 密码的自动猜解。
    的头像 发表于 01-25 10:46 3201次阅读
    通过<b class='flag-5'>Python</b>脚本<b class='flag-5'>实现</b>WIFI密码的自动猜解

    如何使用Python PySNMP模块获取设备指标

    PySNMP 是一个跨平台的纯Python SNMP 引擎实现
    的头像 发表于 01-12 13:59 2517次阅读

    传感器数据融合算法python代码

    的原理和应用,并给出一些使用Python编程语言实现传感器数据融合算法的示例代码。 首先,让我们来了解传感器数据融合算法的原理。传感器数据融合算法
    的头像 发表于 12-15 10:28 1299次阅读

    单相电机实现正反转的方法

    通过交换电源中的两个电源线来实现正反转。单相电机通常有两个电源线,分别为火线和零线。当这两个电源线交换位置时,单相电机就会实现正反转。这种方法简单易行,但需要手动操作电源线,比较危险。
    的头像 发表于 12-11 09:20 5910次阅读
    单相电机<b class='flag-5'>实现正</b>反转的方法

    USB Type-C接口如何实现正反插?引脚信号及PCB布线是什么样的?

    USB Type-C接口如何实现正反插?引脚信号及PCB布线是什么样的? USB Type-C接口是一种全新的连接标准,它可以实现正反插,并且在传输速度、功率传输和多功能性方面都有很大的提升。在本文
    的头像 发表于 12-07 11:43 6974次阅读

    单片机的GPIO如何实现触摸按键的功能

    单片机的GPIO如何实现触摸按键的功能? 触摸按键是一种使用触摸电容技术实现的按键,它通过利用人体的电容来实现按键的检测和触发。在单片机中
    的头像 发表于 12-07 11:43 3651次阅读

    Python运行环境有哪些

    ,也是最常用的解释器。它是用C语言编写的,支持C的扩展和嵌入。CPython可以在各个操作系统上运行,并提供了Python的核心功能。 JPython: JPython是Python的Java实现,它可
    的头像 发表于 11-29 16:14 1837次阅读

    python里item的用法

    item是Python中一个非常重要的概念,它可以用于多种数据结构和算法实现。在Python中,item通常用于表示一个集合或序列中的一个元素。本文将详细介绍item的用法,并探讨它
    的头像 发表于 11-21 15:09 3340次阅读

    Python中Excel转PDF的实现步骤

    将Excel文件转换为PDF可以方便储存表格数据,此外在打印或共享文档时也能确保表格样式布局等在不同设备和操作系统上保持一致。今天给大家分享一个使用第三方Python库Spire.XLS for Python 实现Excel转P
    的头像 发表于 11-20 15:02 1003次阅读
    <b class='flag-5'>Python</b>中Excel转PDF的<b class='flag-5'>实现</b>步骤