Python查找函数f(x)=0根的解决方法

   这篇文章主要介绍了Python查找函数f(x)=0根的解决方法,涉及Python数学运算函数求解的相关技巧,需要的朋友可以参考下

  ?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32

''' root = ridder(f,a,b,tol=1.0e-9).
Finds a root of f(x) = 0 with Ridder's method.
The root must be bracketed in (a,b).
'''
import error
from math import sqrt
def ridder(f,a,b,tol=1.0e-9):
fa = f(a)
if fa == 0.0: return a
fb = f(b)
if fb == 0.0: return b
if fa*fb > 0.0: error.err('Root is not bracketed')
for i in range(30):
# Compute the improved root x from Ridder's formula
c = 0.5*(a + b); fc = f(c)
s = sqrt(fc**2 - fa*fb)
if s == 0.0: return None
dx = (c - a)*fc/s
if (fa - fb) < 0.0: dx = -dx
x = c + dx; fx = f(x)
# Test for convergence
if i > 0:
if abs(x - xOld) < tol*max(abs(x),1.0): return x
xOld = x
# Re-bracket the root as tightly as possible
if fc*fx > 0.0:
if fa*fx < 0.0: b = x; fb = fx
else: a = x; fa = fx
else:
a = c; b = x; fa = fc; fb = fx
return None
print 'Too many iterations'

  希望本文所述对大家的Python程序设计有所帮助。

时间: 2024-09-09 16:54:38

Python查找函数f(x)=0根的解决方法的相关文章

PHP使用json_encode函数时不转义中文的解决方法_php技巧

本文实例讲述了PHP使用json_encode函数时不转义中文的解决方法.分享给大家供大家参考.具体方法如下: json_encode函数对于gbk中的中文字符是不会转换的或直接转换成空格了,本文就来给各位整理一个关于json不转义中文问题处理技巧,相信对大家有所帮助. 如果你调用 PHP 自带的 json_encode() 函数, 碰到中文时, 中文会被转义掉. 例如: 复制代码 代码如下: echo json_encode(array('你好')); // 输出: ["\u4f60\u597

JS在Chrome浏览器中showModalDialog函数返回值为undefined的解决方法_javascript技巧

本文实例讲述了JS在Chrome浏览器中showModalDialog函数返回值为undefined的解决方法.分享给大家供大家参考,具体如下: 主页面: <script type="text/javascript"> function SelectGroupCust() { var temp = window.showModalDialog("Default2.aspx?xx=" + Date(), "", "dialog

IE6下javasc#ipt:void(0) 无效的解决方法

 本篇文章主要是对IE6下javasc#ipt:void(0) 无效的解决方法进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助 IE 6 下,JSP 中 链接问题:   <a href="javascript:void(0);" target="mainFrame" onClick="btnHome_onClick()">   <javascript>   function btnHome_onClick(){ w

Win8.1系统无法识别My Passport USB3.0移动硬盘的解决方法

Win8.1系统无法识别My Passport USB3.0移动硬盘的解决方法  解决方法: 1.先用USB2.0连接电脑,安装移动硬盘里面自带的WD SES Driver和WD Drive Utilities这两个程序; 2.重启电脑!很重要,不重启没有效果; 3.如果还是无法识别,那么可以下载驱动精灵,进行自动扫描,安装其中跟硬盘以及USB相关的最新驱动. 4.安装完后再次重启电脑. 以上就是对Win8.1系统无法识别My Passport USB3.0移动硬盘的解决方法全部内容的介绍,方法

javasciprt下jquery函数$.post执行无响应的解决方法

 这篇文章主要介绍了javasciprt下jquery函数$.post执行无响应的解决方法,需要的朋友可以参考下 在编写javascirpt程序过程中,用$.post方法发送数据,若数据中字符含有'<',将导致$.post无法成功执行.   代码如下: var jsonstr='{"value":"abcd<efg"}';  $.post(  url,  { "jsonstr": jsonstr },  function (data,

ThinkPHP调用common/common.php函数提示错误function undefined的解决方法_php实例

本文主要介绍了ThinkPHP调用common/common.php函数提示错误function undefined的解决方法.对于采用ThinkPHP进行项目开发的朋友来说,在进行ThinkPHP升级后经常会遇到这类问题.具体描述如下: 在对ThinkPHP升级后使用了最新的ThinkPHP3.2版本,将通用的函数放到了common/common.php中,但是在具体页面调用函数时出现了function undefined的错误提示. 在查看了官方文档后发现,原来ThinkPHP3.2版本co

数据库-select @@identity as id的返回值偶尔出现0原因及解决方法

问题描述 select @@identity as id的返回值偶尔出现0原因及解决方法 3C 在执行插入语句后,数据插入到数据库中,然后用同样的dbconn执行select @@identity as id语句,有些时候返回了正常的自增id,可是有些时候返回了0,请问一下有大神知道原因及解决方法吗??? 解决方案 补充一下,数据库是mysql,执行语句用的是java的jdbc,麻烦各位大神了 解决方案二: QT出现"undefined reference to `vtable for'&quo

php倒计时出现-0情况的解决方法_php技巧

本文实例讲述了php倒计时出现-0情况的解决方法.分享给大家供大家参考,具体如下: 问题:今天有反馈,说倒计时出现了-0天的情况,我看了看程序,卧槽,当时怎么没测试到 原因是PHP的逻辑判断中 -0 > 0 分析:贴出错的代码 $starttime = 1362585600; //3.7凌晨 $nowtime = 1362618921;//3.7早上 $off = ceil(($starttime - $nowtime)/86400); //倒计时 if ($off < 0) { $off =

Win7重启系统后USB3.0无法使用的解决方法

  USB3.0和2.0的传输速度相差很大,现在很多最流主板都配备了3.0的USB端口,一般情况下只要外接设备支持3.0的端口我们就会使用3.0的接口传输数据,不过有部分用户反映,在win7系统下3.0的传输接口可以使用,但重启后就出现无法使用的问题,对于出现该问题是什么原因造成的,需要如何解决呢?下面看小编为大家带来的解决方法! 1.请重新安装主板USB3.0驱动程序; 2. 如若无效桌面点击右键,打开计算机管理,找到设备管理器,然后找到通用串行总线控制器; 3. 右键单击USB3.0根集线器