这篇文章主要为大家详细介绍了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使用二分法求平方根的简单示例相关推荐

  1. python用二分法求平方根_Python使用二分法求平方根的简单示例

    对python这个高级语言感兴趣的小伙伴,下面一起跟随编程之家 jb51.cc的小编两巴掌来看看吧! 使用二分法(Bisection Method)求平方根. # @param 使用二分法(Bisec ...

  2. 使用二分法(Bisection Method)求平方根。

    转自:https://www.weidianyuedu.com/ 使用二分法(Bisection Method)求平方根. def sqrtBI(x, epsilon): assert x>0, ...

  3. python爬取歌曲评论_python 爬取歌曲评论的简单示例

    这篇文章主要为大家详细介绍了python 爬取歌曲评论的简单示例,具有一定的参考价值,可以用来参考一下. 感兴趣python 爬取歌曲评论的简单示例的小伙伴,下面一起跟随512笔记的小编罗X来看看吧. ...

  4. python函数名是变量_Python 变量做函数名的简单示例

    这篇文章主要为大家详细介绍了Python 变量做函数名的简单示例,具有一定的参考价值,可以用来参考一下. 对python这个高级语言感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧! PHP ...

  5. python编程类型_python编程 | 第二章 变量和简单数据类型

    1. 变量 message = "Hello Python world!" print(message) 添加一个名为 message 的变量 .每个变量都存储了一个值 -- 与变 ...

  6. python 二分查找_Python实现二分法搜索

    二分法是一种效率比较高的搜索方法,时间复杂度为 O(log2n) .假设有一个1~100之间的数字,你来猜这个数是多少,每猜一次可以得到三种回答:正确.大了或小了.如何保证用最少的次数猜对?很多人会想 ...

  7. python多元函数求解_使用遗传算法求二元函数的最小值

    二元函数为y=x1^2+x2^2,x∈[-5,5] NIND=121; %初始种群的个数(Number of individuals) NVAR=2; %一个染色体(个体)有多少基因 PRECI=20 ...

  8. python非线性规划求解_Python之建模规划篇--非线性规划

    Python之建模规划篇--非线性规划 基本介绍 如果目标函数或约束条件中包含非线性函数,就称这种规划问题为非线性规划问 题.一般说来,解非线性规划要比解线性规划问题困难得多.而且,也不象线性规划有 ...

  9. python差分方程求解_Python数值计算----------二维波动方程有限差分解

    波动现象在生活中非常常见,比如你随便扔一颗石子到平静的湖面上,一圈圈的波纹图案就会出现.波动现象的控制方程为波动方程,下面不要眨眼,请欣赏美丽的波纹:正方形域内波反射图案矩形区域波反射图案三角形区域( ...

最新文章

  1. Docker概述和安装部署
  2. [NIO-1]缓冲区
  3. jcenter下载慢
  4. 电脑常见问题_电脑知识,每日一课,计算机常用维修小技巧
  5. android okhttp 多线程,android – Okhttp Authenticator多线程
  6. 高性能服务器架构思路(五)——分布式缓存
  7. 网站真分页js代码该怎么写? 1
  8. c++ 外部组件发生异常_谁再悄咪咪的吃掉异常,我上去就是一 JIO
  9. bat脚本 git pull_bat文件方式对git进行操作
  10. 【译】Hard Forks, Soft Forks, Defaults and Coercion
  11. 百度牵头,全球首个面向商业化运营的Robotaxi技术标准正式发布
  12. jquery页面跳转带cookie_JS 如何创建、读取和删除cookie
  13. top 命令_Linux监控cpu以及内存使用情况之top命令
  14. github连接出现Bad file number问题
  15. 找到指针的奇数位置 c语言,(ppt)【C语言程序设计】上机作业2010.ppt
  16. Python接口自动化测试_悠悠
  17. 网络工程师中级--上午科目
  18. 基于Python的家谱信息管理系统
  19. 设备冗余技术——链路聚合
  20. 阿里云云平台,物联网可视化web界面简单教程

热门文章

  1. NOIP2018TG 初赛复习
  2. MySQL优化配置之query_cache_size
  3. .NET Core 常用加密和Hash工具NETCore.Encrypt
  4. 个人作业1:小学四则运算——基于控制台
  5. cron 定时器简单入门
  6. awk命令中执行多条shell命令
  7. Linux(centos6.0)下安装Node.js以及使用
  8. C#中使用DirectX编程
  9. ASP.NET保持用户状态的九种选择
  10. libjpeg-turbo介绍及测试代码