用“牛顿迭代法”求根号2的近似值

轻松理解牛顿迭代且用其平方根 牛顿迭代概述 牛顿迭代(Newton’s method)又称为牛顿-拉弗森方(Newton-Raphson method),它是牛顿在17世纪提出的一种在实数域和复数域上近似解方程的方牛顿迭代公式 设rrr是f(x)=0f(x)=0f(x)=0的根,选取x0x_0x0​作为rrr的初始近似值。 过点(x0,f(x0))(x_0, f(x_0))(x0​,f(x0​))做曲线y=f(x)y=f(x)y=f(x)的切线L1L_1L1​,L1:y=f(x0)+f′(x0)(x−x0)L_1:y = 阅读详情

一、提出问题,引入新课

1、作为高中生,大家都知道根号2的近似值是1.414,这是应该记住的常数,可你知不知道如何去求这个近似值呢?(提出问题,激发兴趣,开阔思路,启迪思维,导入新课)

2、学生回答:有学生说用二分法,有学生说逐步必近(因为无法显示,故用同音字替代,但追问如何二分,如何必近,就没有下文了。(在这里主要是让学生认识到不能机械的对书本上的知识采用“拿来主义”,老师说根号2是1.414,就是1.414,要有自己的疑问和思考,不能作知识的奴隶,要作知识的主人。)

3、介绍一种可Cao作的方法

    这里提供一种可Cao作的方法:制作一个直角边为1米的等腰直角三角形(为什么要1米呢?),根据勾股定理,斜边的长度应该是根号2米,然后量出斜边的长度即可得到根号2的大小,如果测量准确的话,斜边长大约为1414毫米=1.414米,即根号2约等于1.414。当然这么做,在理论上是可行的,但在实际cao作时难度较大,因为要保证制作的等腰直角三角形的那个直角为90度,不是容易的事情,如果有一点偏差,则测量斜边长度的误差就比较大了,从而得不到正确的结果。

4、引入新课

    今天,我们要采用牛顿的“迭代法”,用循环来解决这个问题,而且还可以调控其计算精度。(利用“牛顿”的名人效应,增强学生对这个方法的期待和认同,同时板书:用牛顿的迭代法求根号2的近似值)

二、新课教学

(一)、请同学们思考一下:“迭代”这个词从字面上来看是什么意思?

(学生回答基本正确。)

    根据学生回答加以总结:“迭”就是重复、反复的意思,“代”是代入、代换的意思。所以“迭代”就是一种不断代换的作,即不断用新的数据替换旧的数据,以达到自己的目的。正是因为要重复的代换,所以会用循环来实现“迭代”的算法思想,并用这种思想来求出根号2的近似值。(通过对“迭代”词语的解释,让学生对“迭代法”有个大致的了解。)

(二)、迭代原理介绍

    通过下面的步骤叙述,我们来体验用迭代法求根号2的原理。

    第一步:构造求根号2的函数f(x)=x*x-2,令f(x)=0,则根号2是其中的一个正根,也就是函数f(x)与x轴的其中一个交点。

    第二步:选择起始区间(为什么设置这个区间,后面自然明白)

    1、设置根号2的起始区间为[0,2],并令a=0,b=2(起始区间的选择不是唯一的,只要遵从下面选择区间的原则即可)。

    2、选择区间的原则:

    区间的选取是有原则的,其端点a和b对应的函数值必须遵从f(a)· f(b)<0,即f(a)<0,f(b)> 0(或f(a)>0,f(b)< 0),根据函数连续性的特点,其函数图像必定在此区间与x轴有交点,也即方程f(x)=0在此区间有一个根,而这个根就是根号2(只讨论正根)。按照这个原则选取区间就保证了根号2一定在这个区间内,这个原则也是我们后面取舍区间必须遵从的原则。

    第三步:迭代方法

    迭代要通过循环实现,要构造循环就要找到构造循环的条件。方法是让含根号2的区间[a,b]的两个端点不断的向根号2靠近,当它们之间的距离b-a小于我们预先给定的精度(比如0.00001)时,我们认为a或b的值就可以近似的表示满足精度的根号2的近似值。即:

当达到所要求的精度时,则b-a<=0.00001,可以用a或b中的任一个作为满足精度的根号2的值。

    当未达到所要求的精度时,则b-a>0.00001,此时先找ab中点的坐标:t=(a+b)/2

    计算中点的函数值:f=t*t-2

    中点t将原来的[a,b]区间一分为二,根据新产生[a,b]区间的两个端点的函数值必须满足f(a)· f(b)<0的原则,舍掉其中的一个区间,保留符合条件的另一个区间,具体的舍取通过下面的判断实现:

    若f=0,则无需代换,中点t即为根号2的值,输出t即可;

    若f<0,执行a=t,相当于a点移动到中点t(如图一所示),此时区间[a,b]缩小为原来的一半;

    若f>0,执行b=t,相当于b点移动到中点t(如图二所示),此时区间[a,b]也缩小为原来的一半。

 

            图一                                    图二

 


    经过上述替换,检查新区间[a,b]的两个端点之间的距离b-a是否达到预先设定的精度要求?若b-a>0.00001,则没有达到要求,还要继续计算中点坐标和对应的函数值,判断函数值情况,将a或b移动到中点产生新的[a,b]区间,并再次检验,经过这样反复的迭代,每次迭代都会去掉一半的区间,而保留下来的[a,b]区间也就越来越小,当b-a<=0.00001时,说明已经符合设定的精度要求,此时输出t即可(为什么输出t即可呢?而不是先前所说用a或b中的任一个作为满足精度的根号2的值呢?可提问学生回答)。

Java中开根号,你还记得吗? 根号相信大家都不陌生,这是一种数学运算,也称为开方运算,运算符号是根号 √ ̄。那么在 Java 中如何实现开方运算呢? 阅读详情

相关推荐

如何用牛顿迭代平方根

设函数y=f(x)在点x0的某个邻域内有定义,当自变量x在x0处有增量Δx,(x0+Δx)也在该邻域内时,相应地函数取得增量Δy=f(x0+Δx)-f(x0);如果Δy与Δx之比当Δx→0时极限存在,则称函数y=f(x)在点x0处可导,并称这个极限为函数y=f(x)在点x0处的导数记作①f’(x0) ;②y’│x=x0 ;③ │x=x0, 即 导函数 如果函数y=f(x)在开区间内每一点都可导,...

weixin_44482648的博客 5397

牛顿迭代逼近】根号2的快速方

如果要根号2,比较快的方有:1)二分2牛顿迭代逼近

二十三小时 2万+

#01--素数和牛顿迭代平方根

切线

tclxspy的博客 2431

使用牛顿迭代平方根

前段时间去面试,被问到“如何在不调用库函数的前提下最快速地根号2,结果保留6位有效数字?” 方一:简单暴力的逼近 def approach(a): x = 0.0 count = 0 while 1: count += 1 x += 0.00001 if x*x >= a: break

smart_hj的博客 1432

牛顿迭代快速寻找平方根

    下面这种方可以很有效地根号a的近似值:首先随便猜一个近似值x,然后不断令x等于x和a/x的平均数,迭代个六七次后x的值就已经相当精确了。    例如,我想根号2等于多少。假如我猜测的结果为4,虽然错的离谱,但你可以看到使用牛顿迭代后这个值很快就趋近于根号2了:(       4  + 2/   4     ) / 2 = 2.25(    2.25  + 2/  

matrix67的专栏 1132

牛顿平方根

使用牛顿平方根!

六轱辘的专栏 1438

根号的几类算总结

首先是最基本的二分开根号,这个比较容易理解,复杂度比起下面讲的牛顿迭代要高,更容易理解。 下面给出代码: #define eps 0.00001 float SqrtByDichotomy(float n) { if(n&lt;0) { return -1.0; } else { float low,up,m...

li198847的博客 1万+

泰勒级数+牛顿迭代公式+最简单的C语言根号的值

转载自:http://blog.csdn.net/tqtuuuu/article/details/6821767

lcydhr的专栏 3699

二分根号二的近似值_面试题:如何根号2

原标题:面试题:如何根号2Great Eagle 程序猿DD来源:算面试题问题小E最近找实习的时候,被面试官问了这样一道题:如何根号2的值?小E没能答上来,回来后向老师请教。思路 点评:以上介绍了二分牛顿迭代根号2,另外我们还可以通过泰勒公式解。很多朋友可能会问,我们经常调用的Math库中sqrt(x)函数的实现用的是哪种方呢?为了效率,s...

weixin_39781363的博客 1546

(双指针 | 牛顿迭代)算:计算‌根号2(√2)的n位有效位

计算‌根号2(√2)的n位有效位。

учёба 1055

python牛顿迭代平方根_牛顿迭代计算平方根

public static double sqrt(doublex){if(xerr*t){t=(x/t+t)/2.0;}returnt;}牛顿迭代:下面这种方可以很有效地根号a的近似值:首先随便猜一个近似值x,然后不断令x等于x和a/x的平均数,迭代个六七次后x的值就已经相当精确了。例如,我想根号2等于多少。假如我猜测的结果为4,虽然错的离谱,但你可以看到使用牛顿迭代后这个值很快就趋...

weixin_39793434的博客 2530

【数论】牛顿迭代

1.引入/简介 五次及以上多项式方程没有根式解(就是没有像二次方程那样的万能公式),这个是被伽罗瓦用群论做出的最著名的结论。 但是,没有王屠夫难道非得吃带毛猪?工作生活中还是有诸多解高次方程的真实需(比如行星的轨道计算,往往就是涉及到很复杂的高次方程),这日子可怎么过下去啊? 没有根式解不意味着方程解不出来,数学家也提供了很多方牛顿迭代就是其中一种。 本文介绍如何用牛顿迭代(Newton's method for finding roots)方程的近似解,该方于 17 世纪由牛...

zsjzliziyang的博客 1万+

迭代平方根 MATLAB,用迭代的思想 给出根号(2 根号(2 根号(2 根号2)))的迭代格式...

牛顿迭代 方程 2*x*x*x-4*x*x+3*x-6 的根先去看看计算方学习一下“牛顿迭代”吧,不然就算懂了这个小程序也意义不大,真的用C语言编程牛顿迭代方程f(x)=0的根.(#includevoidmain(){floats,f0,h,x;intn,i;printf("inputn:");scanf("%d",&n);h=1.0/n;f0=4.0;s=0.0;for(...

weixin_39716510的博客 3159

根号二用计算机怎么算,Sqrt-如何计算根号2

二分二分:通过二分的方式,不断计算比较,推出根号2的一个近似值。[1, 2][1, 1.5]....缺点:性能不高牛顿迭代y = x^2 - 2 的图像其实,计算根号2就是计算与 X 轴的交点。切线是曲线的逼近曲线上任一一点 (a, a^2-2) 处的切线为 y=2ax-a^2-2这条切线和 X 轴的交点的横坐标为 0.5*(a + a/2);根据这个结论,我们可以去逼近结果。逼近的过程取 ...

weixin_32823555的博客 3581

c语言详解牛顿迭代以及解倒数和平方根

牛顿迭代(Newton's method)又称为牛顿-拉夫逊(拉弗森)方(Newton-Raphson method),它是牛顿在17世纪提出的一种在实数域和复数域上近似解方程的方牛顿迭代实质是一种根算,这意味着它的目标是找到函数 f(x)=0 的值 x。在几何上可以将其视为 x 的值,这时函数与 x 轴相交。

发狂的小花的博客 2186

均方误差要开根号吗_如何口算根号

点击“蓝字”关注我们端午节,欣赏轻松的数学。 上次听到两人在争执谁的口算和笔算能力更好,他们当场出题比赛谁算得更快,以小数作为最终结果,谁知两人却都被正根号23所难住了,我暗暗在远处摇头,心想,正根号23不就是约等于240分之1151(4.79583)嘛。 我之所以能够口算根号,是利用了牛顿迭代(Newton's method),它也被称为牛顿-拉弗森方,是一种计...

weixin_42525178的博客 1025

根号研究

根号研究List开根号研究 List Knowledge sqrt函数 古老的中国技术 二分 牛顿迭代 O1的神奇方 参考文献 鸣谢Knowledge1 sqrt函数#include<cmath> #include<cstdio> #include<iostream> using namespace std; int main(){ double a; scanf("%lf"

YJP的博客 3821

程序猿成长之路番外篇-如何理解牛顿迭代及如何使用牛顿迭代数的平方根

想知道如何使用数学语言 + java实现算术平方根的计算吗?这篇文章不妨看一看

zygswo的博客 1585
上一篇: ubuntu下安装oracle java8
下一篇: 从K近邻算法谈到KD树、BBF算法
liujianfei526
博客等级 码龄15年 120粉丝 7原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值