关于使用牛顿迭代法和二分法解方程的算法说明

一、牛顿迭代法:

用牛顿迭代法求f(x)=0在x0附近的一个实根的方法是
(1) 选一个接近于x的真实根的近似根x1
(2) 通过x1求出f(x1)。在几何上就是作x=x1,交f(x)于f(x1);
(3) 过f(x1)作f(x)的切线,交x轴于x2。可以用公式求出x2。由于
(4) 通过x2求出f(x2);
(5) 再过f(x2)作f(x)的切线交x轴于x2
(6) 再通过x3求出f(x3),…一直求下去,直到接近真正的根。当两次求出的根之差|xn+1-xn|≤ε就认为 xn+1足够接近于真实根。
牛顿迭代公式是:

二、二分法

    任取两点x1x2,判断(x1,x2)区间内有无一个实根。如果f(x1)f(x2)符号相反,说明(x1x2)之间有一个实根。取(x1x2)的中点x,检查f(x)f(x1)是否同符号,如果不同号,说明实根在(x,x1)区间,这样就已经将寻找根的范围减少了一半了。然后用同样的办法再进一步缩小范围。再找x1x2x2=x)的中点“x”,并且再舍弃其一半区间。如果fx)与f(x1)同号,则说明根在(x,x2)区间,再取xx2的中点,并舍弃其一半区间。用这个办法不断缩小范围,直到区间相当小为止。

 转自: http://hefuliang.cai.swufe.edu.cn/EXAMPLE/PROG0031.htm
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
MATLAB语言常用算法程序集 书中4-17章代码,都是一些常用的程序 第4章: 插值 函数名 功能 Language 已知数据点的拉格朗日插值多项式 Atken 已知数据点的艾特肯插值多项式 Newton 已知数据点的均差形式的牛顿插值多项式 Newtonforward 已知数据点的前向牛顿差分插值多项式 Newtonback 已知数据点的后向牛顿差分插值多项式 Gauss 已知数据点的高斯插值多项式 Hermite 已知数据点的埃尔米特插值多项式 SubHermite 已知数据点的分段三次埃尔米特插值多项式及其插值点处的值 SecSample 已知数据点的二次样条插值多项式及其插值点处的值 ThrSample1 已知数据点的第一类三次样条插值多项式及其插值点处的值 ThrSample2 已知数据点的第二类三次样条插值多项式及其插值点处的值 ThrSample3 已知数据点的第三类三次样条插值多项式及其插值点处的值 BSample 已知数据点的第一类B样条的插值 DCS 用倒差商算法已知数据点的有理分式形式的插值分式 Neville 用Neville算法已知数据点的有理分式形式的插值分式 FCZ 用倒差商算法已知数据点的有理分式形式的插值分式 DL 用双线性插值已知点的插值 DTL 用二元三点拉格朗日插值已知点的插值 DH 用分片双三次埃尔米特插值插值点的z坐标 第5章: 函数逼近 Chebyshev 用切比雪夫多项式逼近已知函数 Legendre 用勒让德多项式逼近已知函数 Pade 用帕德形式的有理分式逼近已知函数 lmz 用列梅兹算法确定函数的最佳一致逼近多项式 ZJPF 已知函数的最佳平方逼近多项式 FZZ 用傅立叶级数逼近已知的连续周期函数 DFF 离散周期数据点的傅立叶逼近 SmartBJ 用自适应分段线性法逼近已知函数 SmartBJ 用自适应样条逼近(第一类)已知函数 multifit 离散试验数据点的多项式曲线拟合 LZXEC 离散试验数据点的线性最小二乘拟合 ZJZXEC 离散试验数据点的正交多项式最小二乘拟合 第6章: 矩阵特征值计算 Chapoly 通过矩阵特征多项式的其特征值 pmethod 幂法矩阵的主特征值及主特征向量 rpmethod 瑞利商加速幂法对称矩阵的主特征值及主特征向量 spmethod 收缩法矩阵全部特征值 ipmethod 收缩法矩阵全部特征值 dimethod 位移逆幂法矩阵离某个常数最近的特征值及其对应的特征向量 qrtz QR基本算法矩阵全部特征值 hessqrtz 海森伯格QR算法矩阵全部特征值 rqrtz 瑞利商位移QR算法矩阵全部特征值 第7章: 数值微分 MidPoint 中点公式取导数 ThreePoint 三点法函数的导数 FivePoint 五点法函数的导数 DiffBSample 三次样条法函数的导数 SmartDF 自适应法函数的导数 CISimpson 辛普森数值微分法法函数的导数 Richason 理查森外推算法函数的导数 ThreePoint2 三点法函数的二阶导数 FourPoint2 四点法函数的二阶导数 FivePoint2 五点法函数的二阶导数 Diff2BSample 三次样条法函数的二阶导数 第8章: 数值积分 CombineTraprl 复合梯形公式积分 IntSimpson 用辛普森系列公式积分 NewtonCotes 用牛顿-科茨系列公式积分 IntGauss 用高斯公式积分 IntGaussLada 用高斯拉道公式积分 IntGaussLobato 用高斯—洛巴托公式积分 IntSample 用三次样条插值积分 IntPWC 用抛物插值积分 IntGaussLager 用高斯-拉盖尔公式积分 IntGaussHermite 用高斯-埃尔米特公式积分 IntQBXF1 第一类切比雪夫积分 IntQBXF2 第二类切比雪夫积分 DblTraprl 用梯形公式重积分 DblSimpson 用辛普森公式重积分 IntDBGauss 用高斯公式重积分 第9章: 方程 BenvliMAX 贝努利法按模最大实 BenvliMIN 贝努利法按模最小实 HalfInterval 用二分法方程的一个 hj 用黄金分割法方程的一个 StablePoint 用不动点迭代法方程的一个 AtkenStablePoint 用艾肯特加速的不动点迭代法方程的一个 StevenStablePoint 用史蒂芬森加速的不动点迭代法方程的一个 Secant 用一般弦截法方程的一个 SinleSecant 用单点弦截法方程的一个 DblSecant 用双点弦截法方程的一个 PallSecant 用平行弦截法方程的一个 ModifSecant 用改进弦截法方程的一个 StevenSecant 用史蒂芬森法方程的一个 PYZ 用劈因子法方程的一个二次因子 Parabola 用抛物线法方程的一个 QBS 用钱伯斯法方程的一个 NewtonRoot 用牛顿法方程的一个 SimpleNewton 用简化牛顿法方程的一个 NewtonDown 用牛顿下山法方程的一个 YSNewton 逐次压缩牛顿法多项式的全部实 Union1 用联合法1方程的一个 TwoStep 用两步迭代法方程的一个 Montecarlo 用蒙特卡洛法方程的一个 MultiRoot 存在重方程的一个重 第10章: 非线性方程解 mulStablePoint 用不动点迭代法非线性方程组的一个 mulNewton 用牛顿法法非线性方程组的一个 mulDiscNewton 用离散牛顿法法非线性方程组的一个 mulMix 用牛顿-雅可比迭代法非线性方程组的一个 mulNewtonSOR 用牛顿-SOR迭代法非线性方程组的一个 mulDNewton 用牛顿下山法非线性方程组的一个 mulGXF1 用两点割线法的第一种形式非线性方程组的一个 mulGXF2 用两点割线法的第二种形式非线性方程组的一个 mulVNewton 用拟牛顿法非线性方程组的一组解 mulRank1 用对称秩1算法非线性方程组的一个 mulDFP 用D-F-P算法非线性方程组的一组解 mulBFS 用B-F-S算法非线性方程组的一个 mulNumYT 用数值延拓法非线性方程组的一组解 DiffParam1 用参数微分法中的欧拉法非线性方程组的一组解 DiffParam2 用参数微分法中的中点积分法非线性方程组的一组解 mulFastDown 用最速下降法非线性方程组的一组解 mulGSND 用高斯牛顿法非线性方程组的一组解 mulConj 用共轭梯度法非线性方程组的一组解 mulDamp 用阻尼最小二乘法非线性方程组的一组解 第11章: 解线性方程组的直接法 SolveUpTriangle 上三角系数矩阵的线性方程组Ax=b的解 GaussXQByOrder 高斯顺序消去法线性方程组Ax=b的解 GaussXQLineMain 高斯按列主元消去法线性方程组Ax=b的解 GaussXQAllMain 高斯全主元消去法线性方程组Ax=b的解 GaussJordanXQ 高斯-若当消去法线性方程组Ax=b的解 Crout 克劳特分解法线性方程组Ax=b的解 Doolittle 多利特勒分解法线性方程组Ax=b的解 SymPos1 LL分解法线性方程组Ax=b的解 SymPos2 LDL分解法线性方程组Ax=b的解 SymPos3 改进的LDL分解法线性方程组Ax=b的解 followup 追赶法线性方程组Ax=b的解 InvAddSide 加边逆法线性方程组Ax=b的解 Yesf 叶尔索夫逆法线性方程组Ax=b的解 qrxq QR分解法线性方程组Ax=b的解 第12章: 解线性方程组的迭代法 rs 里查森迭代法线性方程组Ax=b的解 crs 里查森参数迭代法线性方程组Ax=b的解 grs 里查森迭代法线性方程组Ax=b的解 jacobi 雅可比迭代法线性方程组Ax=b的解 gauseidel 高斯-赛德尔迭代法线性方程组Ax=b的解 SOR 超松弛迭代法线性方程组Ax=b的解 SSOR 对称逐次超松弛迭代法线性方程组Ax=b的解 JOR 雅可比超松弛迭代法线性方程组Ax=b的解 twostep 两步迭代法线性方程组Ax=b的解 fastdown 最速下降法线性方程组Ax=b的解 conjgrad 共轭梯度法线性方程组Ax=b的解 preconjgrad 预处理共轭梯度法线性方程组Ax=b的解 BJ 块雅克比迭代法线性方程组Ax=b的解 BGS 块高斯-赛德尔迭代法线性方程组Ax=b的解 BSOR 块逐次超松弛迭代法线性方程组Ax=b的解 第13章: 随机数生成 PFQZ 用平方取中法产生随机数列 MixMOD 用混合同余法产生随机数列 MulMOD1 用乘同余法1产生随机数列 MulMOD2 用乘同余法2产生随机数列 PrimeMOD 用素数模同余法产生随机数列 PowerDist 产生指数分布的随机数列 LaplaceDist 产生拉普拉斯分布的随机数列 RelayDist 产生瑞利分布的随机数列 CauthyDist 产生柯西分布的随机数列 AELDist 产生爱尔朗分布的随机数列 GaussDist 产生正态分布的随机数列 WBDist 产生韦伯西分布的随机数列 PoisonDist 产生泊松分布的随机数列 BenuliDist 产生贝努里分布的随机数列 BGDist 产生贝努里-高斯分布的随机数列 TwoDist 产生二项式分布的随机数列 第14章: 特殊函数计算 gamafun 用逼近法计算伽玛函数的值 lngama 用Lanczos算法计算伽玛函数的自然对数值 Beta 用伽玛函数计算贝塔函数的值 gamap 用逼近法计算不完全伽玛函数的值 betap 用逼近法计算不完全贝塔函数的值 bessel 用逼近法计算伽玛函数的值 bessel2 用逼近法计算第二类整数阶贝塞尔函数值 besselm 用逼近法计算变型的第一类整数阶贝塞尔函数值 besselm2 用逼近法计算变型的第二类整数阶贝塞尔函数值 ErrFunc 用高斯积分计算误差函数值 SIx 用高斯积分计算正弦积分值 CIx 用高斯积分计算余弦积分值 EIx 用高斯积分计算指数积分值 EIx2 用逼近法计算指数积分值 Ellipint1 用高斯积分计算第一类椭圆积分值 Ellipint2 用高斯积分计算第二类椭圆积分值 第15章: 常微分方程的初值问题 DEEuler 用欧拉法一阶常微分方程的数值解 DEimpEuler 用隐式欧拉法一阶常微分方程的数值解 DEModifEuler 用改进欧拉法一阶常微分方程的数值解 DELGKT2_mid 用中点法一阶常微分方程的数值解 DELGKT2_suen 用休恩法一阶常微分方程的数值解 DELGKT3_suen 用休恩三阶法一阶常微分方程的数值解 DELGKT3_kuta 用库塔三阶法一阶常微分方程的数值解 DELGKT4_lungkuta 用经典龙格-库塔法一阶常微分方程的数值解 DELGKT4_jer 用基尔法一阶常微分方程的数值解 DELGKT4_qt 用变形龙格-库塔法一阶常微分方程的数值解 DELSBRK 用罗赛布诺克半隐式法一阶常微分方程的数值解 DEMS 用默森单步法一阶常微分方程的数值解 DEMiren 用米尔恩法一阶常微分方程的数值解 DEYDS 用亚当斯法一阶常微分方程的数值解 DEYCJZ_mid 用中点-梯形预测校正法一阶常微分方程的数值解 DEYCJZ_adms 用阿达姆斯预测校正法一阶常微分方程的数值解 DEYCJZ_adms2 用密伦预测校正法一阶常微分方程的数值解 DEYCJZ_ yds 用亚当斯预测校正法一阶常微分方程的数值解 DEYCJZ_ myds 用修正的亚当斯预测校正法一阶常微分方程的数值解 DEYCJZ_hm 用汉明预测校正法一阶常微分方程的数值解 DEWT 用外推法一阶常微分方程的数值解 DEWT_glg 用格拉格外推法一阶常微分方程的数值解 第16章: 偏微分方程的数值解法 peEllip5 用五点差分格式解拉普拉斯方程 peEllip5m 用工字型差分格式解拉普拉斯方程 peHypbYF 用迎风格式解对流方程 peHypbLax 用拉克斯-弗里德里希斯格式解对流方程 peHypbLaxW 用拉克斯-温德洛夫格式解对流方程 peHypbBW 用比姆-沃明格式解对流方程 peHypbRich 用Richtmyer多步格式解对流方程 peHypbMLW 用拉克斯-温德洛夫多步格式解对流方程 peHypbMC 用MacCormack多步格式解对流方程 peHypb2LF 用拉克斯-弗里德里希斯格式解二维对流方程的初值问题 peHypb2FL 用拉克斯-弗里德里希斯格式解二维对流方程的初值问题 peParabExp 用显式格式解扩散方程的初值问题 peParabTD 用跳点格式解扩散方程的初值问题 peParabImp 用隐式格式解扩散方程的初边值问题 peParabKN 用克拉克-尼科尔森格式解扩散方程的初边值问题 peParabWegImp 用加权隐式格式解扩散方程的初边值问题 peDKExp 用指数型格式解对流扩散方程的初值问题 peDKSam 用萨马尔斯基格式解对流扩散方程的初值问题 第17章: 数据统计和分析 MultiLineReg 用线性回归法估计一个因变量与多个自变量之间的线性关系 PolyReg 用多项式回归法估计一个因变量与一个自变量之间的多项式关系 CompPoly2Reg 用二次完全式回归法估计一个因变量与两个自变量之间的关系 CollectAnaly 用最短距离算法的系统聚类对样本进行聚类 DistgshAnalysis 用Fisher两类判别法对样本进行分类 MainAnalysis 对样本进行主成分分析
50多种数学算法的源代码. 第1章线性代数方程组的解法 1.全主元高斯约当消去法 2.LU分解法 3.追赶法 4.五对角线性方程组解法 5.线性方程组解的迭代改善 6.范德蒙方程组解法 7.托伯利兹方程组解法 8.奇异值分解 9.线性方程组的共轭梯度法 10.对称方程组的乔列斯基分解法 11.矩阵的QR分解 12.松弛迭代法 第2章插值 1.拉格朗日插值 2.有理函数插值 3.三次样条插值 4.有序表的检索法 5.插值多项式 6.二元拉格朗日插值 7.双三次样条插值 第3章数值积分 1.梯形积法 2.辛普森积法 3.龙贝格积法 4.反常积分 5.高斯积法 6.三重积分 第4章特殊函数 1.г函数、贝塔函数、阶乘及二项式系数 2.不完全г函数、误差函数 3.不完全贝塔函数 4.零阶、一阶和任意整数阶的第一、二类贝赛函数 5.零阶、一阶和任意整数阶的第一、二类变形贝赛函数 6.分数阶第一类贝赛尔函数和变形贝赛尔函数 7.指数积分和定指数积分 8.连带勒让德函数 第5章函数逼近 1.级数和 2.多项式和有理函数 3.切比雪夫逼近 4.积分和导数的切比雪夫逼近 5.有切比雪夫逼近函数的多项式逼近 第6章特征值问题 1.对称矩阵的雅可比变换 2.变实对称矩阵为三对角对称矩阵 3.三对角矩阵的特征值和特征向量 4.变一般矩阵为赫申伯格矩阵 5.实赫申伯格矩阵的QR算法 第7章数据拟合 1.直线拟合 2.线性最小二乘法 3.非线性最小二乘法 4.绝对值偏差最小的直线拟合 第8章方程和非线性方程组的解法 1.图解法 2.逐步扫描法和二分法 3.割线法和试位法 4.布伦特方法 5.牛顿拉斐森法 6.复系数多项式的拉盖尔方法 7.实系数多项式的贝尔斯托方法 8.非线性方程组的牛顿拉斐斯方法 第9章函数的极值和最优化 1.黄金分割搜索法 2.不用导数的布伦特法 3.用导数的布伦特法 4.多元函数的下山单纯形法 5.多元函数的包维尔法 6.多元函数的共轭梯度法 7.多元函数的变尺度法 8.线性规划的单纯形法 第10章傅里叶变换谱方法 1.复数据快速傅里叶变换算法 2.实数据快速傅里叶变换算法一 3.实数据快速傅里叶变换算法二 4.快速正弦变换和余弦变换 5.卷积和逆卷积的快速算法 6.离散相关和自相关的快速算法 7.多维快速傅里叶变换算法 第11章数据的统计描述 1.分布的矩——均值、平均差、标准差、方差、斜差和峰态 2.中位数的搜索 3.均值与方差的显著性检验 4.分布拟合的X平方检验 5.分布拟合的K-S检验法 第12章解常微分方程组 1.定步长四阶龙格库塔法 2.自适应变步长的龙格库塔法 3.改进的中点法 4.外推法 第13章偏微分方程的解法 1.解边值问题的松驰法 2.交替方向隐式方法
摘要:牛顿迭代法是《数值分析》这门课程中一个重要的计算方法和思想。这次的课程设计是通过在学习中所学习到的牛顿迭代的方法的思想计算方程方程 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的单近具有平方收敛,而且该法还可以用来方程的重

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值