python二分法求解_Python使用二分法求平方根的简单示例
这篇文章主要为大家详细介绍了Python使用二分法求平方根的简单示例,具有一定的参考价值,可以用来参考一下。
对python这个高级语言感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧!
使用二分法(Bisection Method)求平方根。
# @param 使用二分法(Bisection Method)求平方根。
# @author 512笔记|www.512pic.com
def sqrtBI(x, epsilon):
assert x>0, 'X must be non-nagtive, not ' + str(x)
assert epsilon > 0, 'epsilon must be postive, not ' + str(epsilon)
low = 0
high = x
guess = (low + high)/2.0
counter = 1
while (abs(guess ** 2 - x) > epsilon) and (counter <= 100):
if guess ** 2 < x:
low = guess
else :
high = guess
guess = (low + high)/2.0
counter += 1
return guess
# End www_512pic_com
验证一下。
>>> sqrtBI(2,0.000001)
>>> 1.41421365738
上面的方法,如果 X<1 ,就会有问题。因为 X (X<1)的平方根不在 [0, x] 的范围内。例如,0.25,它的平方根——0.5 不在 [0, 0.25] 的区间内。
>>> sqrtBI(0.25,0.000001)
>>> 0.25
那如何求0.25的平方根呢?
只要略微改动上面的代码即可。注意6行和7行的代码。
# @param 使用二分法(Bisection Method)求平方根。
# @author 512笔记|www.512pic.com
def sqrtBI(x, epsilon):
assert x>0, 'X must be non-nagtive, not ' + str(x)
assert epsilon > 0, 'epsilon must be postive, not ' + str(epsilon)
low = 0
high = max(x, 1.0)
## high = x
guess = (low + high)/2.0
counter = 1
while (abs(guess ** 2 - x) > epsilon) and (counter <= 100):
if guess ** 2 < x:
low = guess
else :
high = guess
guess = (low + high)/2.0
counter += 1
return guess
# End www_512pic_com
验证一下:
>>> sqrtBI(0.25,0.000001)
>>> 0.5
注:关于Python使用二分法求平方根的简单示例的内容就先介绍到这里,更多相关文章的可以留意512笔记的其他信息。
关键词:二分法
您可能感兴趣的文章
python二分法求解_Python使用二分法求平方根的简单示例相关推荐
- python用二分法求平方根_Python使用二分法求平方根的简单示例
对python这个高级语言感兴趣的小伙伴,下面一起跟随编程之家 jb51.cc的小编两巴掌来看看吧! 使用二分法(Bisection Method)求平方根. # @param 使用二分法(Bisec ...
- 使用二分法(Bisection Method)求平方根。
转自:https://www.weidianyuedu.com/ 使用二分法(Bisection Method)求平方根. def sqrtBI(x, epsilon): assert x>0, ...
- python爬取歌曲评论_python 爬取歌曲评论的简单示例
这篇文章主要为大家详细介绍了python 爬取歌曲评论的简单示例,具有一定的参考价值,可以用来参考一下. 感兴趣python 爬取歌曲评论的简单示例的小伙伴,下面一起跟随512笔记的小编罗X来看看吧. ...
- python函数名是变量_Python 变量做函数名的简单示例
这篇文章主要为大家详细介绍了Python 变量做函数名的简单示例,具有一定的参考价值,可以用来参考一下. 对python这个高级语言感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧! PHP ...
- python编程类型_python编程 | 第二章 变量和简单数据类型
1. 变量 message = "Hello Python world!" print(message) 添加一个名为 message 的变量 .每个变量都存储了一个值 -- 与变 ...
- python 二分查找_Python实现二分法搜索
二分法是一种效率比较高的搜索方法,时间复杂度为 O(log2n) .假设有一个1~100之间的数字,你来猜这个数是多少,每猜一次可以得到三种回答:正确.大了或小了.如何保证用最少的次数猜对?很多人会想 ...
- python多元函数求解_使用遗传算法求二元函数的最小值
二元函数为y=x1^2+x2^2,x∈[-5,5] NIND=121; %初始种群的个数(Number of individuals) NVAR=2; %一个染色体(个体)有多少基因 PRECI=20 ...
- python非线性规划求解_Python之建模规划篇--非线性规划
Python之建模规划篇--非线性规划 基本介绍 如果目标函数或约束条件中包含非线性函数,就称这种规划问题为非线性规划问 题.一般说来,解非线性规划要比解线性规划问题困难得多.而且,也不象线性规划有 ...
- python差分方程求解_Python数值计算----------二维波动方程有限差分解
波动现象在生活中非常常见,比如你随便扔一颗石子到平静的湖面上,一圈圈的波纹图案就会出现.波动现象的控制方程为波动方程,下面不要眨眼,请欣赏美丽的波纹:正方形域内波反射图案矩形区域波反射图案三角形区域( ...
最新文章
- Docker概述和安装部署
- [NIO-1]缓冲区
- jcenter下载慢
- 电脑常见问题_电脑知识,每日一课,计算机常用维修小技巧
- android okhttp 多线程,android – Okhttp Authenticator多线程
- 高性能服务器架构思路(五)——分布式缓存
- 网站真分页js代码该怎么写? 1
- c++ 外部组件发生异常_谁再悄咪咪的吃掉异常,我上去就是一 JIO
- bat脚本 git pull_bat文件方式对git进行操作
- 【译】Hard Forks, Soft Forks, Defaults and Coercion
- 百度牵头,全球首个面向商业化运营的Robotaxi技术标准正式发布
- jquery页面跳转带cookie_JS 如何创建、读取和删除cookie
- top 命令_Linux监控cpu以及内存使用情况之top命令
- github连接出现Bad file number问题
- 找到指针的奇数位置 c语言,(ppt)【C语言程序设计】上机作业2010.ppt
- Python接口自动化测试_悠悠
- 网络工程师中级--上午科目
- 基于Python的家谱信息管理系统
- 设备冗余技术——链路聚合
- 阿里云云平台,物联网可视化web界面简单教程