实现平方根函数sqrt
- 问题:实现平方根函数,不得调用其他库函数。
- 一、使用二分法实现
- 二、使用牛顿法迭代法实现
问题:实现平方根函数,不得调用其他库函数。
一、使用二分法实现
def mySqrt2(num):if num<0:return Noneif num==0:return 0pre=1e-7 #精度low=0.0high=numwhile high-low>pre:mid=(low+high)/2squre=mid*midif squre>num:high=midelse:low=midreturn (low+high)/2
二、使用牛顿法迭代法实现
根据牛顿法,求A−−√A\sqrt {A}即求f(x)=x2−Af(x)=x2−Af(x)=x^2-A的非负根,f′(x)=2xf′(x)=2xf'(x)=2x,
所以,此时的牛顿递推式为:xk+1=xk−x2k−A2xk=x2k+A2xkxk+1=xk−xk2−A2xk=xk2+A2xkx_{k+1}=x_k-\frac{x_k^2-A}{2x_k}=\frac{x_k^2+A}{2x_k},当xk+1xk+1x_{k+1}小于预指定的精度时,可以退出迭代。具体代码实现如下:
def mySqrt2(num):if num<0:return Noneif num==0:return 0pre=1e-7x0,x1=float(num),0.0while True:x1=(x0*x0+num)/(2*x0)if x1*x1-num<=pre and x1*x1-num>=-pre:return x1x0=x1
算法思想:改进的牛顿迭代法(先迭代求出接近x的数,在用牛顿迭代法迭代10次求解)
def mySqrt(num):if num==0:return 0i=0.0x1,x2=0.0,0.0 while i*i<=num:i+=0.1x1=ifor j in range(10):x2=numx2/=x1x2+=x1x2/=2x1=x2return x2
实现平方根函数sqrt相关推荐
- 牛顿迭代法实现平方根函数sqrt
转自利用牛顿迭代法自己写平方根函数sqrt 给定一个正数a,不用库函数求其平方根. 设其平方根为x,则有x2=a,即x2-a=0.设函数f(x)= x2-a,则可得图示红色的函数曲线.在曲线上任取一点 ...
- 用二分法定义平方根函数(Bisection method Square Root Python)
Python里面有内置(Built-in)的平方根函数:sqrt(),可以方便计算正数的平方根.那么,如果要自己定义一个sqrt函数,该怎么解决呢? 解决思路: 1. 大于等于1的正数n的方根,范围 ...
- 【leetcode】第69题 x 的平方根 牛顿迭代法实现求平方根函数 C++
这题属于简单题,但是因为学到了新的算法:牛顿迭代法(或牛顿法),这里做一下记录. 题目描述: 实现 int sqrt(int x) 函数. 计算并返回 x 的平方根,其中 x 是非负整数. 由于返回类 ...
- 牛顿法求解1-100的平方根python_使用牛顿-拉弗森法定义平方根函数(Newton-Raphson method Square Root Python)...
牛顿法(Newton's method)又称为牛顿-拉弗森法(Newton-Raphson method),是一种近似求解实数方程式的方法.(注:Joseph Raphson在1690年出版的< ...
- 二分查找算法应用-实现求平方根函数
使用二分查找算法,尽可能的逼近求解平方根.算法的思路很简单:设置三个标识:left=0,right=x(x为输进去的被开方数) mid=(left+right)/2,然后用mid*mid-x的绝对值去 ...
- 求立方根函数cbrt
#include <float.h> #include <math.h> 由于VS2012 2013以上版本的编译器才带cbrt cbrf 求根函数,以下编译器版本只好自己去网 ...
- 第130章 SQL函数 SQRT
文章目录 第130章 SQL函数 SQRT 大纲 参数 描述 示例 第130章 SQL函数 SQRT 返回给定数值表达式的平方根的数值函数. 大纲 SQRT(numeric-expression){f ...
- mysql 次方根_MySQL Sqrt()函数
MySQL Sqrt()函数 MySQL的SQRT()函数是用来找出任何数的平方根. 使用SELECT语句来查找出任何数的平方根如下: mysql> select SQRT(16); +---- ...
- 解对称正定矩阵线性方程组的平方根方法
对称正定矩阵线性方程组 0. 引言 1. 对称正定矩阵线性方程组 1.1 对称正定矩阵及其三角分解法 1.2 平方根法 1.3 改进平方根法 1.4 代码实现 2. 应用举例:最小二乘法多项式拟合函数 ...
- log函数 oracle power_Excel之数学函数SQRT/MOD/EXP/LN/RAND
本部分主要包括ABS函数.SQRT函数.SIGN函数.MOD函数.POWER.EXP函数.LN函数.LOG函数.LOG10函数.RAND函数.RANDBETWEEN函数.PI函数.SIN函数.COS函 ...
最新文章
- 老生常谈JavaScript闭包
- 摄像机的上方向(UpDirection)- 使用WPF演示
- cropper.js 图像旋转问题_快速提高前端开发效率:10个JavaScript图像处理库
- Apache POI学习笔记
- Dreamweaver自动生成的垃圾代码
- 河南师范大学python+学习笔记6 组合数据类型
- 只使用一个块级元素绘制各种图形
- PyTorch非线性函数拟合
- shell脚本之正则表达式
- 一家互联网创业公司的“估值”是如何来的
- 1月第1周榜单丨B站UP主排行榜(飞瓜数据B站)发布!
- Android用yasea 推流异常AmfString cannot be cast to com.github.faucamp.simplertmp.amf.AmfNumber捕获和解决
- SHA3系列(KECCAK)哈希算法原理及实现(附源码)
- eclipse mdt java工程_Atitit.uml2 api 的编程代码实现设计uml开发 使用eclipse jar java 版本...
- Spark物理计划和CBO和AQE
- 鲁大师8月新机流畅榜:小米MIUI 12增强版又行了?
- 转载--马占凯:Sogou输入法之父的故事
- MySQL开发规范[转自网络]
- 《如何成为一个有趣的人》-王小圈读书笔记
- windows下的信息收集