用“牛顿迭代法”求根号2的近似值
一、提出问题,引入新课
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的值呢?可提问学生回答)。
用“牛顿迭代法”求根号2的近似值相关推荐
- 经典算法:牛顿迭代法求平方根
//牛顿迭代法求平方根 1 double mysqrt(double num) 2 { 3 double x = num/2; 4 double y = 0; 5 do{ 6 x = x/2+num/ ...
- 牛顿迭代法-求平方根
牛顿迭代法 求出根号a的近似值:首先随便猜一个近似值x,然后不断令x等于x和a/x的平均数,迭代个六七次后x的值就已经相当精确了. 例如,我想求根号2等于多少.假如我猜测的结果为4,虽然错的离谱,但 ...
- 用牛顿迭代法求浮点数的平方根
比如我们要求a的平方根,首先随便猜一个近似值x,然后不断令x等于x和a/x的平均数,迭代几次后x的值就已经相当精确了. 看下面(假设a=2,我们求2的平方根): 1.先随便猜个数,比如我猜2的平方根为 ...
- 牛顿迭代法求一个数的平方根
设r是f(x) = 0的根,选取x0作为r初始近似值,过点(x0,f(x0))做曲线y = f(x)的切线L,L的方程为y = f(x0)+f'(x0)(x-x0), 求出L与x轴交点的横坐标 x1 ...
- python迭代法求解方程_第一部分:趣味算法入门;第六题牛顿迭代法求一元三次方程的根...
100个不同类型的python语言趣味编程题 在求解的过程中培养编程兴趣,拓展编程思维,提高编程能力. 第一部分:趣味算法入门:第六题SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键 ...
- 100个python算法超详细讲解:牛顿迭代法求方程根
1.问题描述 编写用牛顿迭代法求方程根的函数.方程为ax 3 +bx 2 +cx+d=0,系数a. b.c.d由主函数输入,求x在1附近的一个实根.求出根后,由主函数输出. 2.问题分析 牛顿迭代法是 ...
- java 牛顿迭代算术平方根,牛顿迭代法求n方根
一.简单推导 二.使用 借助上述公式,理论上可以求任意次方根,假设要求a(假设非负)的n次方根,则有xn=a,令f(x)=xn-a,则只需求f(x)=0时x的值即可.由上述简单推导知,当f(x)=0时 ...
- 牛顿迭代法求根——C语言
牛顿迭代法求根的原理: 设r是 的根,选取 作为r的初始近似值,过点 做曲线 的切线L,L的方程为 ,求出L与x轴交点的横坐标 ,称x1为r的一次近似值.过点 做曲线 的切线,并求该切线与x轴交点的横 ...
- Python:牛顿迭代法求平方根
#69573 牛顿迭代法求平方根[光]-函数复用#69573 牛顿迭代法求平方根描述牛顿迭代法(Newton's method)又称为牛顿-拉夫逊(拉弗森)方法(Newton-Raphson meth ...
最新文章
- 学密码学一定得学程序 KMP
- 『Numpy』np.ravel()和np.flatten()
- 对角矩阵和类下三角矩阵的频率和质量数据比较
- Electron中 提示:Uncaught ReferenceError: process is not defined
- Oracle Internal Event:10200 Consistent Read诊断事件
- 谈谈自己对于Auth2.0的见解
- C/C++ 文件的后缀名
- 多目标决策---基本概念
- Spring Boot和SSM本质上的区别
- cocos2d-x 通过JNI实现c/c++和Android的java层函数互调 .
- 2021新版外卖CPS 外卖侠CPS小程序
- 柱状图怎么设置xy轴_经验-Origin做柱状图常遇问题-柱状图X坐标轴如何设置—小技巧...
- matlab GUI界面变量值传递到其他.m文件
- mysql opened tables_open_table与opened_table --2
- python中int函数的功能_python中int函数的用法
- 华为云区块链的跨云联通能力构建
- 接口测试 — 使用Requests库发送POST请求
- 聊聊Benchmark测试【转载】
- MNI模板和Talairach模板的区别
- 2023年全国最新会计专业技术资格精选真题及答案1