分别用牛顿迭代法、弦截法和二分法求根


-
1. 目的: (1)通过采用牛顿迭代法、弦截法和二分法求根的程序设计,使学生更加系统地理解和掌握C语言函数间参数传递方法、数组和指针的应用等编程技巧。培养学生综合利用C语言进行科学计算,使学生将所学知识转化为分析和设计数学中的实际问题的能力,学会查资料和工具书。 (2)提高学生建立程序文档、归纳总结的能力。 (3)进一步巩固和灵活运用先修课程《计算机文化基础》有关文字处理、图表分析、数据归整、应用软件之间图表、数据共享等信息技术处理的综合能力。 2. 基本要求: (1)要求用模块化设计和C语言的思想来完成程序的设计; (2)要求分别编写牛顿迭代法、弦截法和二分法求根的函数,分别存到不同的.CPP文件中; (3)在VC++6.0环境中,学会调试程序的方法,及时查究错误,独立调试完成。 (4)程序调试通过后,完成程序文档的整理,加必要的注释。 一般解一元方程,常用采用的方法有:牛顿迭代法、弦截法和二分法等。 牛顿迭代法求根 〖〖f(x)=a〗_0 x〗^n 〖〖 + a〗_1 x〗^(n-1) +⋯+〖 a〗_(n-2) x^2 +〖 a〗_(n-1) x +〖 a〗_n=0 求f(x)在〖 x〗_0附近的根。 计算公式:〖 x〗_(n+1)=〖 x〗_n- f(〖 x〗_n )/(f(〖 x〗_n)) ́ 精度:ε=|〖 x〗_(n+1)-〖 x〗_n|<1.0e-m ,m=6。 牛顿迭代法 所求的根:满足精度的〖 x〗_n 二分法 任取两点〖 x〗_1和〖 x〗_2,判断(〖 x〗_1, 〖 x〗_2)有无实根。如下图所示,如果f(〖 x〗_1 )和f(〖 x〗_2 )符号相反,说明(〖 x〗_1, 〖 x〗_2)之间有一实根。取(〖 x〗_1, 〖 x〗_2)的中点x,检查f(x)和f(〖 x〗_1 )是否同符号,如果不同号,说明实根在(〖 x〗_1,x)区间,x作为新的〖 x〗_2,舍弃(x, 〖 x〗_2)区间;若同号,则实根在(x, 〖 x〗_2)区间,x作为新的〖 x〗_1, 舍弃(〖 x〗_1,x)区间。再根据新的〖 x〗_1 、 〖 x〗_2,找中点,重复上述步骤。直到|〖 x〗_1-〖 x〗_2|〖<10〗^(-6)时,x =(〖 x〗_1+〖 x〗_2)/2为所求。 (3)弦截法 取f(〖 x〗_1 )与f(〖 x〗_2 )连线与x轴的交点x,从(〖 x〗_1, x)和(x, 〖 x〗_2)两个区间中取舍的方法与二分法相同。 计算公式为: 判断f(〖 x〗_1 )与f(〖 x〗_2 )是否同符号的方法与二分法采用的方法相同。直到先后两次求出的x的值之差小于〖10〗^(-6)为止。 分别用牛顿迭代法、弦截法和二分法求下列方程的根,分析比较各种方法的迭代次数及精度。 〖f(x)=x〗^3 〖- 2x〗^2 +7x +4=0 牛顿迭代法的初值:x=0.5; 弦截法〖 x〗_1,〖 x〗_2的初值:-1,1 二分法〖 x〗_1,〖 x〗_2的初值:-1,0 精度要求:|〖 x〗_1-〖 x〗_2| 〖<10〗^(-6)
223KB
数值计算方法实验 二分法 迭代法 牛顿跌代 弦截法
2009-12-06数值计算方法(马东升版)第二章四个非线性方程解法,包括区间二分法 简单迭代法 牛顿迭代法 弦截法
226KB
计算方法 方程求根 二分法、牛顿法、弦截法
2009-09-01通过本次实验,熟练的掌握方程求根的最基本、常用的运算方法和理论。主要有二分法、牛顿法、弦截法,并体会它们各自不同的特点及收敛速率。 求方程 f(x)=x-2sin(x)=0 的非零根。按适当的比例在屏幕上画出f(x)的函数曲线以及根在x轴上的逼近过程。 matlab7.0及以上版本 图像界面 实验报告
28KB
pb_uo_insuclac应用
2009-08-25方法方法方法方法方法方法各个各个各个各个各个
1KB
二分法、牛顿法、简化牛顿法、弦截法MATLAB实现
2019-03-18采用下述方法计算 115 的平方根,精确到小数点后六位。 (1)二分法。选取求根区间为[10, 11]。 (2)牛顿法。 (3)简化牛顿法。 (4)弦截法。 绘出横坐标分别为计算时间、迭代步数时的收敛精度曲线。
5KB
[计算方法作业]利用python中matplotlib实现绘制二分法、牛顿法、弦截法图像
2018-12-25[计算方法作业]利用python中matplotlib实现绘制二分法、牛顿法、弦截法图像,利用二分法、牛顿法、弦截法求方程的根,用python中matplotlib库绘制函数的图像。
5KB
二分法、牛顿法、弦截法求解非线性方程
2008-12-10大学的一次数值分析作业,用C++完成的, 首先编制非线性方程求根算法(从二分法、牛顿法、弦截法中任选)的程序,要求解的误差不超过 为止,然后输出求得的非线性方程根的近似值. 其次用上述程序求解非线性方程 在区间 内的根,要求误差不超过 ;
29KB
VB_牛顿迭代法、二分法和弦截法解一元三次方程
2011-12-26VB_牛顿迭代法、二分法和弦截法解一元三次方程
38KB
现代数值计算方法实验程序(二分法,牛顿迭代法等等)
2010-12-24二分法、迭代法、牛顿法、弦截法、高斯列主消元法、LU分解法、迭代法等 导入到MYECLIPSE
1KB
Newton弦截法求根
2009-05-15Newton弦截法求根 初值设为x为 0.1,0.2,0.9,9.0.可在程序中更改
1.52MB
牛顿迭代求根算法的分析与实现 论文 完整版
2009-03-17摘要:牛顿迭代法是《数值分析》这门课程中一个重要的计算方法和思想。这次的课程设计是通过在学习中所学习到的牛顿迭代的方法的思想计算方程:求方程 x3+x2-3x-3=0 在1.5附近根。并通过VISUALC++编译程序计算出方程的根。并通过这次的课程设计对所学习的知识进行进一步的总结和完善从而对原有的知识进行深化和巩固。牛顿迭代法的主要功能:计算方程时可以比较快速方便的计算出来结果但并不影响计算出来结果的精确度,运用于多种工业设计和数学设计方面。 关键词: 牛顿 迭代 方程 根 Abstract: The Newton iteration method is "Numerical analysis" in this curriculum an important computational method and the thought.The method thought computation equation in the study which this time curriculum design is through studies Newton who iterates: Asks equation x3+x2-3x-3=0 in 1.5 neighbor roots.And calculates the equation through the VISUALC++ compiler the root.Thus and designs through this time curriculum to the knowledge which studies carries on the further summary and the consummation carries on the deepening to the original knowledge and consolidated.Newton iteration method main function: When computation equation but may the quite fast convenience computation finally not affect calculates the result the precision, utilizes in many kinds of industrial design and mathematics design aspect. Key words: Newton iterates the equation root 1 牛顿迭代法的简介 1.1 牛顿迭代法的概述 牛顿迭代法(Newton's method)又称为牛顿-拉夫逊方法(Newton-Raphson method),它是牛顿在17世纪提出的一种在实数域和复数域上近似求解方程的方法。多数方程不存在求根公式,因此求精确根非常困难,甚至不可能,从而寻找方程的近似根就显得特别重要。方法使用函数f(x)的泰勒级数的前面几项来寻找方程f(x) = 0的根。 设r是f(x) = 0的根,选取x0作为r初始近似值,过点(x0,f(x0))做曲线y = f(x)的切线L,L的方程为y = f(x0) f'(x0)(x-x0),求出L与x轴交点的横坐标 x1 = x0-f(x0)/f'(x0),称x1为r的一次近似值。过点(x1,f(x1))做曲线y = f(x)的切线,并求该切线与x轴的横坐标 x2 = x1-f(x1)/f'(x1),称x2为r的二次近似值。重复以上过程,得r的近似值序列,其中x(n+1)=x(n)-f(x(n))/f'(x(n)),称为r的n+1次近似值,上式称为牛顿迭代公式。 解非线性方程f(x)=0的牛顿法是把非线性方程线性化的一种近似方法。把f(x)在x0点附近展开成泰勒级数 f(x) = f(x0)+(x-x0)f'(x0)+(x-x0)^2*f''(x0)/2! +… 取其线性部分,作为非线性方程f(x) = 0的近似方程,即泰勒展开的前两项,则有f(x0)+f'(x0)(x-x0)=f(x)=0 设f'(x0)≠0则其解为x1=x0-f(x0)/f'(x0) 这样,得到牛顿法的一个迭代序列:x(n+1)=x(n)-f(x(n))/f'(x(n))。 1.2 牛顿迭代法的优点 迭代法是求方程近似根的一个重要方法,也是计算方法中的一种基本方法,它的算法简单,是用于求方程或方程组近似根的一种常用的算法设计方法。 牛顿迭代法是求方程根的重要方法之一,其最大优点是在方程f(x) = 0的单根附近具有平方收敛,而且该法还可以用来求方程的重根、复根。 牛顿法是方程求根的一个有力方法,常常能快速求出其他方法求不出或者难以求出的解。假定有一个函数y=f(x),方程f(x)=0在 x = r 处有一个根,对于此根,先估计一个初始值 Xo(可以是猜测的)。得到一个更好的估计值X1。为此f(X)=Xo处作该曲线的切线,并将其延长与 x 轴相交。切线与x轴的交点通常很接近 r ,我们用它作为下一个估计值X1,求出X1后,用X1代替Xo。重复上述过程,在x=X1处作曲线的另一条切线,并将其延长至与x轴相交,用切线的x轴截距作为下一个近似值X2……这样继续下去,所得出的这个x轴截距的序列通常迅速接近根r。 2牛顿迭代可行性的分析 2.1牛顿迭代法的思想 多数情况下是得不到一般数学方法所需的函数表达式,或难以找到原函数。线性方程组的求解更是让人望而生畏,往往因为计算机工作量太大而无法实施。对这些问题,都可以利用数值方法来求解,在计算机中实现的数值方法也称为数值算法。牛顿迭代法是数值分析中一个重要的计算方法和思想。迭代法的主要功能:计算方程时可以比较快速。 在工程实践中,有许多问题往往归结为求一元非线性方程的实根、求函数的定积分、求线性方程组的解等。而即使对于求一元方程实根这类问题,也只有在少数简单的情况下,才可以用传统的方法得到根的数学表达式。对于需要计算定积分的问题,便的计算出来结果但并不影响计算出来结果的精确度,运用于多种工业设计和数学设计方面。 牛顿迭代法用到导数f'(x),但有时求导困难,如果导数用差商(y2-y1)/(x2-x1)逼近,便是一种快速的截弦法。取两个x值作试探,判断f(x)是否副近于0,如果f(x)不理想,用经过(x1,y1)、(x2,y2)的直线(截弦)代替f(x)求根,近似根x外推=x1-(x2-x1)*y1/(y2-y1),此x靠性会更好些。求根过程:是叠代过程,即由(x1,x2)→f(x1)、f(x2)、f(x中)或f(x外推)→(X1,X2),大写X1,X2就是下一轮计算的小写x1,x2,二分法、截弦法、牛顿迭代法计算公式不同,一个用中值外推,后二者用直线外推,二者用直线外推,但它们计算过程几乎相同,具体程序详见本源代码。对截弦法而言,x1,y1是起点,x2,y2直的控制点,,x1,y1是起点,x2,y2直的控制点,x2不能与x1相等,否则直线画不出来,但x1与x2应尽量靠近,远了作出的直线准确度下降。在求根过程中会用到牛顿迭代伪代码: 牛顿迭代法伪代码: x1=-2,y1=f(x1) x2=-2,y2=f(x2) while(){//循环 x=x1-(x2-x1)*y1/(y2-y1),y=f(x) 如果|x-x2|<0.01或y为0则跳出循环 x1=x2,y1=y2 x2=x,y2=y 2.2 牛顿迭代法的要求
881B
matlab中运用二分法和割线法求方程的根
2011-12-24高校计算方法上机作业利用二分法和割线法求议程的近似根的matlab程序
6KB
非线性方程matlab求解
2013-06-20给定一个方程用二分法,简单迭代法,牛顿法,弦截法分别求其解 为了比较求解区间要求是一样,或者初始解要求一样。
269KB
matlab计算方法迭代法牛顿法二分法实验报告_二分法实验报告
2020-10-23姓名 实验报告成绩 评语 指导教师签名 年 月 日 说明指导教师评分后实验报告交院系办公室保存 实验一 方程求根 一 实验目的 用各种方法求任意实函数方程f (x) 0 在自变量区间[ab]上或某一 点附近的实根并比较方法的优劣 二 实验原理 (1)二分法 b a x 对方程f (x) 0 在[ab]内求根将所给区间二分在分点 2 判 b a x 断 是 否 f (x) 0 若 是 则 有 根
180KB
二分法、简单迭代法的matlab代码实现x_matlab区间二分法
2020-06-10精品文档 精品文档 PAGE PAGE #欢迎下载 实验一 非线性方程的数值解法(一) 信息与计算科学金融 崔振威201002034031 一 实验目的 熟悉二分法和简单迭代法的算法实现 二 实验内容 教材 P40 2.1.5 三 实验要求 1根据实验内容编写二分法和简单迭代法的算法实现 2简单比较分析两种算法的误差 3试构造不同的迭代格式分析比较其收敛性 (一)二分法程序 function ef
165KB
二分法、牛顿法、割线法、Steffencen法求非线性方程MATLAB实现.pdf
2020-10-14数值分析实验 求非线性方程的零点 10级数学与应用数学1班 20103869 郝少强 摘要 本报告主要介绍了基于求非线性方程零点问题的牛顿法二分法简易牛顿 法割线法Steveson法等数值分析方法的算法原理及实现方法通过对非线 3 性方程f(x)= x 3x1= 0分别运用以上五种不同的迭代法进行数值实验对几 种迭代法的运算量空间存储使用迭代步数进行了初步分析评价并对几种迭 代法分别适用于求解何
541KB
非线性方程求根(c和matlab编写)
2010-04-08该文件包含了c和matlab写的二分法、迭代法和牛顿迭代法,e1-e3是c写的计算方法,matlab_e1里面包含了matlab的m文件,可以直接进行使用。
1KB
matlab数值分析迭代
2015-04-26matlab的数值分析迭代方法:牛顿法,二分法,史蒂芬森快速迭代,弦截
58KB
非线形方程方法代码集合
2009-12-01非线形方程代码集合 包括 一般迭代 牛顿迭代 二分法 弦截法 的代码 是我自己实验课实现的代码 其中弦截法最好 受老师表扬 方程系数可边 a b c d可自己输入
-
下载
Rosetta-master.zip
Rosetta-master.zip
-
下载
完整性约束验证实验.doc
完整性约束验证实验.doc
-
下载
jdk api 1.8.chw
jdk api 1.8.chw
-
下载
hk-db-jdbc-15.0.0.jar(虚谷Mysql数据库.a)
hk-db-jdbc-15.0.0.jar(虚谷Mysql数据库.a)
-
下载
计算机二级基础题复习资料.zip
计算机二级基础题复习资料.zip
-
下载
中医科工作制度、岗位职责及诊疗规范.pdf
中医科工作制度、岗位职责及诊疗规范.pdf
-
下载
中大五院肿瘤放疗项目收费标准.pdf
中大五院肿瘤放疗项目收费标准.pdf
-
下载
轻量级免费远程协助工具 TrustViewer 2.7.0 Build 4055.zip
轻量级免费远程协助工具 TrustViewer 2.7.0 Build 4055.zip
-
下载
IDEA远程调试.docx
IDEA远程调试.docx
-
下载
EXCEL 二维码程序源码.xls
EXCEL 二维码程序源码.xls
