Python查找函数f(x)=0根的解决方法
本文实例讲述了Python查找函数f(x)=0根的解决方法。分享给大家供大家参考。具体实现方法如下:
''' 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程序设计有所帮助。
相关推荐
-
python使用range函数计算一组数和的方法
本文实例讲述了python使用range函数计算一组数和的方法.分享给大家供大家参考.具体如下: sum = 0 numbers = range(1,10) for i in numbers: sum += i print(sum) 运行结果为:45 希望本文所述对大家的Python程序设计有所帮助.
-
Python中统计函数运行耗时的方法
本文实例讲述了Python中统计函数运行耗时的方法.分享给大家供大家参考.具体实现方法如下: import time def time_me(fn): def _wrapper(*args, **kwargs): start = time.clock() fn(*args, **kwargs) print "%s cost %s second"%(fn.__name__, time.clock() - start) return _wrapper #这个装饰器可以在方便地统计函数运行的
-
python中xrange和range的区别
range 函数说明:range([start,] stop[, step]),根据start与stop指定的范围以及step设定的步长,生成一个序列.range示例: 复制代码 代码如下: >>> range(5)[0, 1, 2, 3, 4]>>> range(1,5)[1, 2, 3, 4]>>> range(0,6,2)[0, 2, 4] xrange 函数说明:用法与range完全相同,所不同的是生成的不是一个数组,而是一个生成器.xrang
-
python中xrange用法分析
本文实例讲述了python中xrange用法.分享给大家供大家参考.具体如下: 先来看如下示例: >>> x=xrange(0,8) >>> print x xrange(8) >>> print x[0] 0 >>> print x[7] 7 >>> print x[8] Traceback (most recent call last): File "<stdin>", line
-
python进阶教程之循环相关函数range、enumerate、zip
在"循环"一节,我们已经讨论了Python基本的循环语法.这一节,我们将接触更加灵活的循环方式. range() 在Python中,for循环后的in跟随一个序列的话,循环每次使用的序列元素,而不是序列的下标. 之前我们已经使用过range()来控制for循环.现在,我们继续开发range的功能,以实现下标对循环的控制: 复制代码 代码如下: S = 'abcdefghijk' for i in range(0,len(S),2): print S[i] 在该例子中,我们利用l
-
python 切片和range()用法说明
理解切片基本用法: 首先需要明白,可迭代对象,按照正数索引(正序)是从0开始的,按照负数索引(逆序)是从-1开始的.>>> astring = 'Hello world'>>> astring[0:2]'He'>>> 可见,这种情况下,给切片操作一个起始位置,和一个终止位置,则显示从起始位置开始(包括起始位置)到终止位置(不包括终止位置)之间的内容: 在有负数索引的情况下,是类似的,只要确定终止位置的内容: >>> astring[0
-
Python查找函数f(x)=0根的解决方法
本文实例讲述了Python查找函数f(x)=0根的解决方法.分享给大家供大家参考.具体实现方法如下: ''' 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)
-
python range()函数取反序遍历sequence的方法
python中的range函数取反序有两种方式 第一种:先构建一个列表,然后对列表中的元素进行反转. 例如: a=range(5) for i in reversed(a): print(i) #4 3 2 1 0 第二种:是利用range()函数本身的特点来进行反序. 例如: for i in range(4,-1,-1): print(i) #4 3 2 1 0 range(a,b)函数只包括前面的a,不包括后面的b,步长默认为1. 以上这篇python range()函数取反序遍历sequ
-
Python查找多个字典公共键key的方法
目录 1.如何快速找到多个字典中的公共键(key) 2.代码演示 3.快速找到多个字典中的公共键(key)的方法(补充) 方法一:for in循环 方法二:利用集合的交集操作 方法三:使用map即reduce(用于求n个字典的公共key) 1.如何快速找到多个字典中的公共键(key) 实际案例: 西班牙足球甲级联赛,每轮球员进球统计: 第一轮:{'苏亚雷斯': 1, '梅西': 2, '本泽马': 1, 'C罗': 3, ...} 第二轮:{'苏亚雷斯': 2, 'C罗': 1, '格里丝曼':
-
基于Linux系统中python matplotlib画图的中文显示问题的解决方法
最近想学习一些python数据分析的内容,就弄了个爬虫爬取了一些数据,并打算用Anaconda一套的工具(pandas, numpy, scipy, matplotlib, jupyter)等进行一些初步的数据挖掘和分析. 在使用matplotlib画图时,横坐标为中文,但是画出的条形图横坐标总是显示"框框",就去查资料解决.感觉这应该是个比较常见的问题,网上的中文资料也确实很多,但是没有任何一个彻底解决了我遇到的问题.零零碎碎用了快3个小时的时间,才终于搞定.特此分享,希望能帮到有同
-
python关于矩阵重复赋值覆盖问题的解决方法
本文实例讲述了python关于矩阵重复赋值覆盖问题的解决方法.分享给大家供大家参考,具体如下: import itertools import numpy as np comb = list(itertools.combinations(list(range(regions)), 2)) bands_info = [] coeff = np.zeros([bands, len(comb)]) for cla in range(classes): class_info = data[:,cla*b
-
python 递归调用返回None的问题及解决方法
今天在做python获取邮件时需要递归调用解析函数才可以解析邮件内容,最后想要将解析出的内容返回时发现返回的是None 可以内容却可以打印出来,很费解.后来在网上找到了解决方案,才想明白 在这里记录下. 原文:https://www.jb51.net/article/182765.htm 原始测试代码如下: def print_info(msg, indent=0): if indent == 0: for header in ['From', 'To', 'Subject']: value =
-
python安装dlib库报错问题及解决方法
问题描述 我是debain 系的linux系统没遇到这个问题,在centos系统遇到的 Collecting dlib Downloading http://mirrors.cloud.aliyuncs.com/pypi/packages/63/92/05c3b98636661cb80d190a5a777dd94effcc14c0f6893222e5ca81e74fbc/dlib-19.19.0.tar.gz (3.2MB) 100% |███████████████████████
-
python上传时包含boundary时的解决方法
python上传时,包含boundary时的处理方式 img_url = [] upload_pic_url = "http://admin.mdt.oujingroup.cn/uploader/img" headers = { 'X-Requested-With': 'XMLHttpRequest', } img_file = open(name, 'rb') multipart_encoder = MultipartEncoder( fields={ 'file': ('test.
-
JS在Chrome浏览器中showModalDialog函数返回值为undefined的解决方法
本文实例讲述了JS在Chrome浏览器中showModalDialog函数返回值为undefined的解决方法.分享给大家供大家参考,具体如下: 主页面: <script type="text/javascript"> function SelectGroupCust() { var temp = window.showModalDialog("Default2.aspx?xx=" + Date(), "", "dialog
-
PHP使用json_encode函数时不转义中文的解决方法
本文实例讲述了PHP使用json_encode函数时不转义中文的解决方法.分享给大家供大家参考.具体方法如下: json_encode函数对于gbk中的中文字符是不会转换的或直接转换成空格了,本文就来给各位整理一个关于json不转义中文问题处理技巧,相信对大家有所帮助. 如果你调用 PHP 自带的 json_encode() 函数, 碰到中文时, 中文会被转义掉. 例如: 复制代码 代码如下: echo json_encode(array('你好')); // 输出: ["\u4f60\u597
随机推荐
- 脚本与批处理合二为一
- Lua中实现StringBuffer功能
- Vue单文件组件的如何使用方式介绍
- bryato.exe,acpisys.sys等恶意文件清除解决方案
- ios使用OC写算法之递归实现八皇后
- python中的__slots__使用示例
- php 生成短网址原理及代码
- 利用pyinstaller或virtualenv将python程序打包详解
- Docker镜像构建的两种方法解析
- ECMAScript6新增值比较函数Object.is
- MySql服务未知原因消失解决方法
- mysql优化取随机数据慢的方法
- 检测Unix是否被入侵最快捷的方法
- jQuery 1.5最新版本的改进细节分析
- Jquery实战_读书笔记1—选择jQuery
- Python下使用Psyco模块优化运行速度
- 浅谈spring中的default-lazy-init参数和lazy-init
- thinkphp标签实现bootsrtap轮播carousel实例代码
- C++动态内存分配(new/new[]和delete/delete[])详解
- 浅谈onTouch先执行,还是onClick执行(详解)