python牛顿迭代法求平方根_牛顿迭代法计算平方根(Java,Python实现)
牛顿法的作用是使用迭代的方法来求解函数方程的根。简单地说,牛顿法就是不断求取切线的过程。更多见: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实现)相关推荐
- 牛顿迭代法求一个数的立方根、平方根
// 不调用原有的库函数,求一个数的立方根.平方根 ------牛顿迭代法,不得不说牛顿太伟大了! 我们现在先求平方根: 设函数 f(x) = x^2 - a ,那么求 a 的平方根等价于求 f(x ...
- C语言用牛顿迭代法求根_可方便修改系数
以y=a^3*x+b^2*x+c*x+d+sin(e)为例: //用牛顿迭代法求方程的根 #include<stdio.h> #include<math.h> double a ...
- python迭代法求极值_用Python实现最速下降法求极值的方法
对于一个多元函数 ,用最速下降法(又称梯度下降法)求其极小值的迭代格式为 其中 为负梯度方向,即最速下降方向,αkαk为搜索步长. 一般情况下,最优步长αkαk的确定要用到线性搜索技术,比如精确线性搜 ...
- c语言用迭代法求最大公约数,用迭代法求两个数的最大公约数和最小公倍数
c语言论文 用迭代法求两个数的最大公约数和最小公倍数 化工09110605 摘要:迭代法是一种循环控制语句和循环结构程序的设计方法.在计算机解决问 题的时候,总希望从复杂的问题中找到规律,并归结为简单 ...
- python创建类统计属性_轻松创建统计数据的Python包
python创建类统计属性 介绍 (Introduction) Sometimes you may need a distribution figure for your slide or class ...
- python如何计算成绩平方根_python 使用二分法计算平方根
python 使用二分法计算平方根 from math import sqrt def mysqrt(num,small): assert num>0 assert small>0 low ...
- python就业需要的技能_教你如何快速掌握Python就业技能
-人生苦短,为什么要学Python? 简单易学 应用广泛 大厂青睐 (油管大神评选的2020最值得学就业语言-Python) 因为以上的种种理由,无论是国外还是国内, Python都荣登2020最值得 ...
- 11小时 python自动化测试从入门到_自动化测试实战宝典(Robot Framework+Python从小工到专家)...
目录 第1部分 入门篇 第1章 大话测试行业 1.1 测试行业现状分析 1.2 未来发展趋势 1.3 测试工程师的核心竞争力 1.4 测试知识体系 1.5 测试发展能力图谱及推荐书单 1.6 本章总结 ...
- python算公倍数的案例_【71页】关于python经典的80个案例操作(附源码解析)
1.Python Hello World 实例 # -*- coding: UTF-8 -*- # Filename : helloworld.py # author by : www.runoob. ...
- python怎么复数乘方开方_运维必须掌握的 Python 宝典:值得每天复习一遍
前言 本文旨在更好地总结 Python 基础知识,力求简明扼要,以供实战演练时能够快速查询遗忘的知识点. 学一门语言贵在坚持用它,不用就淡忘了,而记录下一篇文章也有助于日后快速回忆.全文分为两大部分, ...
最新文章
- 由Node.js事件驱动模型引发的思考
- document对象详解
- Matlab绘图详细总结
- windows 配置C++环境
- mac mini mysql 安装_怎么在MacMini上安装ubuntu,Mac OS X 讨论区
- Linux虚拟机最小化安装后转换成图形界面(图文详解)
- ffmpeg 命令添加文字水印
- Query框架学习第九天:jQuery工具函数介绍与使用
- mysql 双机备份_mysql双机热备详解及延伸备份
- 排名如何得到快速提升?
- 漏洞10年深藏不露,PHP 项目依赖关系管理工具Composer安全吗?
- cent os 7 与cent os 6 修改主机名称
- Python文摘:汉诺塔问题与递归算法
- 金蝶K3老单新增自定义菜单按钮
- 只需2个公式,3阶魔方7步还原法
- 台式计算机硬盘主要有哪两种接口,硬盘接口有几种?怎么看电脑硬盘接口类型...
- java计算机毕业设计重庆旅游景点源码+数据库+系统+lw文档
- this is a prerequisite condition to test whether the packagecompat-libstdc++-33-3.2.3-61.x86_64
- 网页课程设计-期末大作业-简单设计【原神狂喜】
- 双评价技术指南2020_双评价技术学习笔记(旧)
热门文章
- 卸载pytorch_Pytorch中的hook的使用详解
- socket php验证客户端验证,用Socket发送电子邮件(利用需要验证的SMTP服务器)_php基础...
- 基于PYNQ-Z2重建BNN工程
- ultra96-v2通过网线连接PC传输文件
- java中如何设置浏览器宽度_[Java教程]关于JS中获取浏览器高度和宽度值的多种方法(多浏览器)_星空网...
- Apache和Nginx的区别
- 强行杀windows服务
- 多进程Socket_Server
- 随手看的一本书《java微服务》,测试成功了其中的第一个样例
- [objective-c] 04 - 消息机制 回调 目标-动作回调