我正在处理此作业:

首先,实现由以下函数定义的f函数:f(x)= exp(x)-sin(x)最接近零。

其次,在给定输入值x0 = -3.5和x1 = -2.5的情况下,执行95页的Secant方法并使用它来找到f函数的根。

添加以下内容

-绝对测试:abs(f(x))

-相对测试:abs(x ^ k-x ^ {k-1})/ abs(x ^ {k})\\ leq delta

-最大迭代保护:k

在每次迭代中,打印出迭代次数k,当前根的值和当前f值。 打印20位浮点数。

这是我必须完成的代码:

import numpy as np

from math import exp, sin

import matplotlib.pyplot as plt

def f(x: float) -> float:

return

def secant(x0: float, x1: float, f, epsilon: float, delta: float, iter_max: int) -> float:

return

这是来自第95页的伪代码:

input: x_0, x_1, delta, epsilon, iter_max

fx_0

output: 0, x_0, fx_0

output: 1, x_1, fx_1

for k = 2 to iter_max do

if |fx_0| > |fx_1| then

x_0 x_1; fx_0 fx_1

end if

s

x_1

fx_1

x_0

fx_0

output: k, x_0, fx_0

if |fx_0| < epsilon or |x_1 - x_0| < delta then stop

end do

这是我自己的尝试:

def f(x: float) -> float:

return exp(x) - sin(x) == 0

def secant(x0: float, x1: float, f, epsilon: float, delta: float, iter_max: int) -> float:

fx0 = f(x0)

fx1 = f(x1)

return 0, x0, fx0

return 1, x1, fx1

for k in range(2, iter_max):

if abs(fx0) > abs(fx1):

x0 = x1

x1 = x0

fx0 = fx1

fx1 = fx0

s = (x1 - x0) / (fx1 - fx0)

x1 = x0

fx1 = fx0

x0 = x0 - fx0 * s

fx0 = f(x0)

return k, x0, fx0

if abs(fx0) < epsilon or abs(x**k - x**(k - 1))/ abs(x**(k)) <= delta:

break

如果我遵循我的代码

root = secant(-3.5, -2.5, f, 0.00000000001, 0.000001, 10)

print(root)

我得到:(0,-3.5,False)。 因此,它实际上不执行任何迭代。 我该如何解决?

编辑 :

伪代码照片

此处:a = x_0,b = x_1,M = iter_max。

我希望输出是这样的:

python怎么生成伪代码_python - 将伪代码转换为python(正割方法) - 堆栈内存溢出...相关推荐

  1. python罗马数字转换阿拉伯数字_Python将阿拉伯数字转换为罗马数字的方法

    本文实例讲述了Python将阿拉伯数字转换为罗马数字的方法.分享给大家供大家参考.具体实现方法如下: def numToRomanNum(Num): """digital ...

  2. python 随机生成手机号码_Python实现随机创建电话号码的方法示例

    本文实例讲述了Python实现随机创建电话号码的方法.分享给大家供大家参考,具体如下: 当需要随机的生成一些电话号码的时候,可以使用以下脚本,简单实用,第一个列表中 list列表中的数字可以自己添加, ...

  3. python音频 降噪_python - 使用pyaudio对音频播放进行降噪 - 堆栈内存溢出

    我正在用Python为Raspberry Pi写一个声码器,这使声音无法识别. 我录制音频并使用回调功能实时播放-它可以工作. 现在,我需要对输入进行去噪,以Numpy数组表示(像大多数教程和SO上的 ...

  4. python求小于n的所有素数_python - 列出N以下所有素数的最快方法 - 堆栈内存溢出...

    警告:由于硬件或Python版本的不同, timeit结果可能会有所不同. 下面是一个脚本,比较了许多实现: 非常感谢斯蒂芬为使sieve_wheel_30引起我的注意. 值得罗伯特·威廉·汉克斯 ( ...

  5. python多个摄像头_python - 使用python和OpenCV与VideoCapture洞察多个网络摄像头捕获 - 堆栈内存溢出...

    我正在尝试同时(或几乎同时)从多个网络摄像头捕获图像. 我一直在玩OpenCV ,使用VideoCapture和python编程. 但有一些困惑,希望有人可以帮助解释事情...... 首先,我尝试了V ...

  6. python堆栈反向输出列表_python - IPython:将Python脚本的输出重定向到文件(如bash) - 堆栈内存溢出...

    IPython有自己的上下文管理器来捕获stdout / err ,但它没有重定向到文件,它重定向到一个对象: from IPython.utils import io with io.capture ...

  7. python获取列表长度方法_python - 在Pandas df列中获取有关列表长度(平均长度,最大长度等)的统计信息的大多数pandas-onic方法 - 堆栈内存溢出...

    我想获取有关pandas df列中列表长度的统计信息,例如平均长度,最低,最高,标准差等. 例: import pandas as pd dfp = pd.DataFrame( {'trial_num ...

  8. python 移动平均值_python - 如何使用NumPy计算移动平均值? - 堆栈内存溢出

    这里有各种方法以及一些基准. 最好的方法是使用来自其他库的优化代码的版本. bottleneck.move_mean方法可能是最好的方法. scipy.convolve方法也非常快速,可扩展,并且在语 ...

  9. matlab图像转化为索引图,matlab - 将RGB图像转换为索引图像并保存 - 堆栈内存溢出...

    您可以执行以下操作: 将图像从RGB转换为2种颜色的索引图像:[X, cmap] = rgb2ind(RGB, 2); 将彩色图的索引替换为黑白:cmap(1, 1:3) = [0, 0, 0]; % ...

  10. python随机生成一个数字_如何实现python随机生成数字?

    今天小编就生成随机数,整理了多个方式,方便大家在项目时,根据自己的需求,直接拿来套用即可,以下内容相当详细,具体来看看吧~ 说明:python中生成随机数主要用到random模块,方法主要包括:ran ...

最新文章

  1. oracle创建DBA角色命令,oracle常用DBA命令
  2. 深度强化学习入门到精通--资料综述
  3. 知乎社区核心业务 Golang 化实践
  4. python3 线程间通讯(借助queue)
  5. 【干货】Sketch+Keynote双剑合璧:5步快速制作移动动效
  6. 如何在postman里为类型为Edm.DateTime的OData参数指定正确格式的值
  7. C#关于伪静态页面的两种实现方法
  8. (四)微调ResNet50以诊断COVID-19
  9. 【Stimulsoft Reports Server教程】创建报表快照
  10. 结构化元素、网页结构和iframe内联框架
  11. OpenCV_mechanisms of Canny operator(Canny算子检测图像边缘)
  12. paip.svn 导入项目到SVN库
  13. JAVAEE框架架构高级视频教程
  14. Bluecoat Web无法正常显示页面解决方案
  15. 在blender使用MMD模型凹造型的简单流程
  16. Excel不用函数嵌套一键完成四舍六入五成双
  17. 服务器遇到大流量攻击的处理过程
  18. MyBatis 插件之拦截器(Interceptor),拦截查询语句
  19. tf.estimator.Estimator解析
  20. 感悟西游记——成气候的妖精都是领导家的

热门文章

  1. VMware启动虚拟机找不到入口
  2. 高等数学常见面试问题总结,含答案
  3. [APIO2015]雅加达的摩天楼
  4. java计算机毕业设计网上蛋糕订购系统源码+数据库+系统+lw文档+mybatis+运行部署
  5. Android实现menu菜单(BMI检测APP)
  6. 分类交叉熵Cross-Entropy
  7. Cisco设备——静态路由配置案例
  8. word序号10以后的字体和序号间有很大的间隙
  9. linux 部署调用SAP接口
  10. java常用的几种线程池比较