牛顿法的作用是使用迭代的方法来求解函数方程的根。简单地说,牛顿法就是不断求取切线的过程。更多见:iii.run

数学推导

假设c为原数,t为c的根数。

$$ t^2 \quad = \quad c$$

$$2t^2 \quad = \quad c + \quad t^2$$

$$2t \quad = \quad \frac{c}{t}+ \quad t$$

$$t \quad = \quad \frac{\frac{c}{t} + t}{2.0}$$

Java代码实现

package test;

import java.io.IOException;

import java.util.Scanner;

public class QuickFindUF {

public static double sqrt (double c){

if(c<0)

return Double.NaN;

double err = 1e-15;

double t = c;

while(Math.abs(t-c/t)>err)

t = (c/t+t)/2.0;

return t;

}

public static void main(String args[]) throws IOException{

Scanner sc = new Scanner(System.in);

double a = sqrt(sc.nextDouble());

System.out.println(a);

}

}

Python代码实现

c = input()

err = 1e-15

t = c

while abs(t - c/t)>err:

t = (c/t+t)/2.0

print(t)

Python代码真心简洁啊

python牛顿迭代法求平方根_牛顿迭代法计算平方根(Java,Python实现)相关推荐

  1. 牛顿迭代法求一个数的立方根、平方根

    // 不调用原有的库函数,求一个数的立方根.平方根 ------牛顿迭代法,不得不说牛顿太伟大了! 我们现在先求平方根: 设函数 f(x) = x^2 - a  ,那么求 a 的平方根等价于求 f(x ...

  2. C语言用牛顿迭代法求根_可方便修改系数

    以y=a^3*x+b^2*x+c*x+d+sin(e)为例: //用牛顿迭代法求方程的根 #include<stdio.h> #include<math.h> double a ...

  3. python迭代法求极值_用Python实现最速下降法求极值的方法

    对于一个多元函数 ,用最速下降法(又称梯度下降法)求其极小值的迭代格式为 其中 为负梯度方向,即最速下降方向,αkαk为搜索步长. 一般情况下,最优步长αkαk的确定要用到线性搜索技术,比如精确线性搜 ...

  4. c语言用迭代法求最大公约数,用迭代法求两个数的最大公约数和最小公倍数

    c语言论文 用迭代法求两个数的最大公约数和最小公倍数 化工09110605 摘要:迭代法是一种循环控制语句和循环结构程序的设计方法.在计算机解决问 题的时候,总希望从复杂的问题中找到规律,并归结为简单 ...

  5. python创建类统计属性_轻松创建统计数据的Python包

    python创建类统计属性 介绍 (Introduction) Sometimes you may need a distribution figure for your slide or class ...

  6. python如何计算成绩平方根_python 使用二分法计算平方根

    python 使用二分法计算平方根 from math import sqrt def mysqrt(num,small): assert num>0 assert small>0 low ...

  7. python就业需要的技能_教你如何快速掌握Python就业技能

    -人生苦短,为什么要学Python? 简单易学 应用广泛 大厂青睐 (油管大神评选的2020最值得学就业语言-Python) 因为以上的种种理由,无论是国外还是国内, Python都荣登2020最值得 ...

  8. 11小时 python自动化测试从入门到_自动化测试实战宝典(Robot Framework+Python从小工到专家)...

    目录 第1部分 入门篇 第1章 大话测试行业 1.1 测试行业现状分析 1.2 未来发展趋势 1.3 测试工程师的核心竞争力 1.4 测试知识体系 1.5 测试发展能力图谱及推荐书单 1.6 本章总结 ...

  9. python算公倍数的案例_【71页】关于python经典的80个案例操作(附源码解析)

    1.Python Hello World 实例 # -*- coding: UTF-8 -*- # Filename : helloworld.py # author by : www.runoob. ...

  10. python怎么复数乘方开方_运维必须掌握的 Python 宝典:值得每天复习一遍

    前言 本文旨在更好地总结 Python 基础知识,力求简明扼要,以供实战演练时能够快速查询遗忘的知识点. 学一门语言贵在坚持用它,不用就淡忘了,而记录下一篇文章也有助于日后快速回忆.全文分为两大部分, ...

最新文章

  1. 由Node.js事件驱动模型引发的思考
  2. document对象详解
  3. Matlab绘图详细总结
  4. windows 配置C++环境
  5. mac mini mysql 安装_怎么在MacMini上安装ubuntu,Mac OS X 讨论区
  6. Linux虚拟机最小化安装后转换成图形界面(图文详解)
  7. ffmpeg 命令添加文字水印
  8. Query框架学习第九天:jQuery工具函数介绍与使用
  9. mysql 双机备份_mysql双机热备详解及延伸备份
  10. 排名如何得到快速提升?
  11. 漏洞10年深藏不露,PHP 项目依赖关系管理工具Composer安全吗?
  12. cent os 7 与cent os 6 修改主机名称
  13. Python文摘:汉诺塔问题与递归算法
  14. 金蝶K3老单新增自定义菜单按钮
  15. 只需2个公式,3阶魔方7步还原法
  16. 台式计算机硬盘主要有哪两种接口,硬盘接口有几种?怎么看电脑硬盘接口类型...
  17. java计算机毕业设计重庆旅游景点源码+数据库+系统+lw文档
  18. this is a prerequisite condition to test whether the packagecompat-libstdc++-33-3.2.3-61.x86_64
  19. 网页课程设计-期末大作业-简单设计【原神狂喜】
  20. 双评价技术指南2020_双评价技术学习笔记(旧)

热门文章

  1. 卸载pytorch_Pytorch中的hook的使用详解
  2. socket php验证客户端验证,用Socket发送电子邮件(利用需要验证的SMTP服务器)_php基础...
  3. 基于PYNQ-Z2重建BNN工程
  4. ultra96-v2通过网线连接PC传输文件
  5. java中如何设置浏览器宽度_[Java教程]关于JS中获取浏览器高度和宽度值的多种方法(多浏览器)_星空网...
  6. Apache和Nginx的区别
  7. 强行杀windows服务
  8. 多进程Socket_Server
  9. 随手看的一本书《java微服务》,测试成功了其中的第一个样例
  10. [objective-c] 04 - 消息机制 回调 目标-动作回调