Python用二分法求平方根的案例
我就废话不多说了,大家还是直接看代码吧~
def sq2(x,e): e = e #误差范围 low= 0 high = max(x,1.0) #处理大于0小于1的数 guess = (low + high) / 2.0 ctr = 1 while abs(guess**2 - x) > e and ctr<= 1000: if guess**2 < x: low = guess else: high = guess guess = (low + high) / 2.0 ctr += 1 print(guess)
补充:数值计算方法:二分法求解方程的根(伪代码 python c/c++)
数值计算方法:
二分法求解方程的根
伪代码
fun (input x) return x^2+x-6 newton (input a, input b, input e) //a是区间下界,b是区间上界,e是精确度 x <- (a + b) / 2 if abs(b - 1) < e: return x else: if fun(a) * fun(b) < 0: return newton(a, x, e) else: return newton(x, b, e)
c/c++:
#include <iostream> #include <cmath> using namespace std; double fun (double x); double newton (double a, double b,double e); int main() { cout << newton(-5,0,0.5e-5); return 0; } double fun(double x) { return pow(x,2)+x-6; } double newton (double a, double b, double e) { double x; x = (a + b)/2; cout << x << endl; if ( abs(b-a) < e) return x; else if (fun(a)*fun(x) < 0) return newton(a,x,e); else return newton(x,b,e); }
python:
def fun(x): return x ** 2 + x - 6 def newton(a,b,e): x = (a + b)/2.0 if abs(b-a) < e: return x else: if fun(a) * fun(x) < 0: return newton(a, x, e) else: return newton(x, b, e) print newton(-5, 0, 5e-5)
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。如有错误或未考虑完全的地方,望不吝赐教。
相关推荐
-
python判断完全平方数的方法
如下所示: # -*- coding: utf-8 -*- #简述:一个整数,它加上100和加上268后都是一个完全平方数 #提问:请问该数是多少? from math import sqrt def f(number): for x in range(0,number): m=sqrt(x+100) n=sqrt(x+268) if m==int(m) and n==int(n): print x if __name__=="__main__": f(1000) 运行结果: 21 2
-
Python3 完全平方数案例
题目 一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少? 程序分析 因为168对于指数爆炸来说实在太小了,所以可以直接省略数学分析,用最朴素的方法来获取上限: n=0 while (n+1)**2-n*n<=168: n+=1 print(n+1) 补充:用Python实现"有效的完全平方数"的一种方法 给一个正整数num,写一个函数判断它是否是一个完全的平方数,是则返回True,不是返回False 注意:不要使用任何内嵌的函数,如sqrt
-
Python编程实现二分法和牛顿迭代法求平方根代码
求一个数的平方根函数sqrt(int num) ,在大多数语言中都提供实现.那么要求一个数的平方根,是怎么实现的呢? 实际上求平方根的算法方法主要有两种:二分法(binary search)和牛顿迭代法(Newton iteration) 1:二分法 求根号5 a:折半: 5/2=2.5 b:平方校验: 2.5*2.5=6.25>5,并且得到当前上限2.5 c:再次向下折半:2.5/2=1.25 d:平方校验:1.25*1.25=1.5625<5,得到当前下限1.25 e:再次折半:2.5-(
-
Python 实现把列表中的偶数变成他的平方
我就废话不多说了,大家还是直接看代码吧~ #编写程序将列表中的偶数变成他的平方 def word_len(s): # s = [i ** 2 for i in s if i % 2 == 0] L = [] for i in s: if(i % 2 == 0): L.append(i** 2) else: L.append(i) return L def main(): s = [2, 6, 1, 3, 9, 4, 22] print(word_len(s)) main() 补充:Python
-
Python 平方列表中每个数字的多种操作
map map(function,iterable) x = [1,2,3,4,5] def square(num): return num*num print(list(map(square,x))) #output:[1, 4, 9, 16, 25] lambda lambda x: x = [1,2,3,4,5] print(list(map(lambda num:num*num, x))) #output:[1, 4, 9, 16, 25] list comprehensions [fu
-
python 计算平均平方误差(MSE)的实例
我们要编程计算所选直线的平均平方误差(MSE), 即数据集中每个点到直线的Y方向距离的平方的平均数,表达式如下: MSE=1n∑i=1n(yi−mxi−b)2 最初麻烦的写法 # TODO 实现以下函数并输出所选直线的MSE def calculateMSE(X,Y,m,b): in_bracket = [] for i in range(len(X)): num = Y[i] - m*X[i] - b num = pow(num,2) in_bracket.append(num) all_su
-
Python编程之求数字平方的实例
问题描述: 求输入数字的平方,如果平方运算后小于 100 则退出. 源代码: #!/usr/bin/python # -*- coding: UTF-8 -*- TRUE = 1 FALSE = 0 def SQ(x): return x * x print '如果输入的数字小于 100,程序将停止运行.' again = 1 while again: num = int(raw_input('请输入一个数字:')) print '运算结果为: %d' % (SQ(num)) if SQ(num
-
Python用二分法求平方根的案例
我就废话不多说了,大家还是直接看代码吧~ def sq2(x,e): e = e #误差范围 low= 0 high = max(x,1.0) #处理大于0小于1的数 guess = (low + high) / 2.0 ctr = 1 while abs(guess**2 - x) > e and ctr<= 1000: if guess**2 < x: low = guess else: high = guess guess = (low + high) / 2.0 ctr += 1
-
python numpy.power()数组元素求n次方案例
如下所示: numpy.power(x1, x2) 数组的元素分别求n次方.x2可以是数字,也可以是数组,但是x1和x2的列数要相同. >>> x1 = range(6) >>> x1 [0, 1, 2, 3, 4, 5] >>> np.power(x1, 3) array([ 0, 1, 8, 27, 64, 125]) >>> x2 = [1.0, 2.0, 3.0, 3.0, 2.0, 1.0] >>> np.
-
在python Numpy中求向量和矩阵的范数实例
np.linalg.norm(求范数):linalg=linear(线性)+algebra(代数),norm则表示范数. 函数参数 x_norm=np.linalg.norm(x, ord=None, axis=None, keepdims=False) ①x: 表示矩阵(也可以是一维) ②ord:范数类型 向量的范数: 矩阵的范数: ord=1:列和的最大值 ord=2:|λE-ATA|=0,求特征值,然后求最大特征值得算术平方根 ord=∞:行和的最大值 ③axis:处理类型 axis=1表
-
python分治法求二维数组局部峰值方法
题目的意思大致是在一个n*m的二维数组中,找到一个局部峰值.峰值要求大于相邻的四个元素(数组边界以外视为负无穷),比如最后我们找到峰值A[j][i],则有A[j][i] > A[j+1][i] && A[j][i] > A[j-1][i] && A[j][i] > A[j][i+1] && A[j][i] > A[j][i-1].返回该峰值的坐标和值. 当然,最简单直接的方法就是遍历所有数组元素,判断是否为峰值,时间复杂度为O(n^2
-
Python算法之求n个节点不同二叉树个数
问题 创建一个二叉树 二叉树有限多个节点的集合,这个集合可能是: 空集 由一个根节点,和两棵互不相交的,分别称作左子树和右子树的二叉树组成 创建二叉树: 创建节点 再创建节点之间的关系 Python代码示例 # !/usr/bin/env python # -*-encoding: utf-8-*- # author:LiYanwei # version:0.1 class TreeNode(object): def __init__ (self, data, left = None, righ
-
Python编程二分法实现冒泡算法+快速排序代码示例
本文分享的实例主要是Python编程二分法实现冒泡算法+快速排序,具体如下. 冒泡算法: #-*- coding: UTF-8 -*- #冒泡排序 def func(lt): if type(lt).__name__ !='list' and type(lt).__name__ !='tuple': return if type(lt).__name__ == 'tuple': return list(lt) for i in range(1,len(lt)-1): for j in range
-
Python Paramiko模块的使用实际案例
本文研究的主要是Python Paramiko模块的使用的实例,具体如下. Windows下有很多非常好的SSH客户端,比如Putty.在python的世界里,你可以使用原始套接字和一些加密函数创建自己的SSH客户端或服务端,但如果有现成的模块,为什么还要自己实现呢.使用Paramiko库中的PyCrypto能够让你轻松使用SSH2协议. Paramiko的安装方法网上有很多这样的帖子,这里就不描述了.这里主要讲如何使用它.Paramiko实现SSH2不外乎从两个角度实现:SSH客户端与服务端.
-
易语言求平方根命令使用讲解
求平方根命令 操作系统支持:Windows.Linux 所属类别:算术运算 返回指定参数的平方根. 语法: 双精度小数型 求平方根(欲求其平方根的数值) 例程 说明: 将数值编辑框的内容转换到数值型,把转换后的数据求平方根, 再把返回的双精度小数型数据转换到文本型,放入求平方根标签的标题中. 运行结果: 总结 以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持.如果你想了解更多相关内容请查看下面相关链接
-
Python UnboundLocalError和NameError错误根源案例解析
如果代码风格相对而言不是那么的pythonic,或许很少碰到这类错误.当然并不是不鼓励使用一些python语言的技巧.如果遇到这这种类型的错误,说明我们对python中变量引用相关部分有不当的认识和理解.而这又是对理解python相关概念比较重要的.这也是本文写作的原因. 本文为理解闭包相关概念的做铺垫,后续会详细深入的整理出闭包相关的博文,敬请关注. 1.案例分析 在整理闭包相关概念的过程中,经常发现UnboundLocalError和NameError这两个错误,刚开始遇到的时候可能很困惑,
随机推荐
- .net core使用redis基于StackExchange.Redis
- 详解Docker创建支持ssh服务的容器和镜像
- Javascript 类型转换方法
- Java用正则表达式如何读取网页内容
- java synchronized用法详解
- iOS中使用URL Scheme进行App跳转的教程
- JS数组的赋值介绍
- 基于Bootstrap和jQuery构建前端分页工具实例代码
- C#实现GridView导出Excel实例代码
- 利用Go语言初步搭建一个web应用的教程
- C语言菜鸟基础教程之for循环
- 优化SimpleAdapter适配器加载效率的方法
- Powershell小技巧之设置IE代理
- oracle使用sql脚本生成csv文件案例学习
- 浅谈MySQL中优化sql语句查询常用的30种方法
- 简单实现限制uploadify上传个数
- 免费PHP空间300M
- 显示内存状态示例分享
- js限制文本框的输入内容代码分享(3类)
- vue.js 获取select中的value实例