用牛顿迭代法求2*x*x*x-4*x*x+3*x-6=0在1.5附近的一个根

L_jila 2007-05-13 10:53:20
#include"iostream.h"
#include"math.h"
void main()
{double x0,f,f1;
double x=1.5;
do
{x0=x;
f=2*x0*x0*x0-4*x0*x0+3*x0-6;
f1=6*x0*x0-8*x0+3;
x=x0-f/f1;
}while((fabs(x-x0))>1e-5);
cout<<"The root of the equation is "<<x<<endl;
}
能不能帮我解释一下,看不懂。。。
...全文
706 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
yixiao386 2007-05-13
  • 打赏
  • 举报
回复
牛顿迭代法不记得了
kouzhongling 2007-05-13
  • 打赏
  • 举报
回复
这是个数学问题
牵扯到编程的只是 while((fabs(x-x0))>1e-5);//计算机判断两个浮点相等
celftj 2007-05-13
  • 打赏
  • 举报
回复
程序本身很简单,2*x0*x0*x0-4*x0*x0+3*x0-6是把x0=1.5代入方程, 6*x0*x0-8*x0+3是过该点的切线方程f'
celftj 2007-05-13
  • 打赏
  • 举报
回复
牛顿迭代公式:
设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次近似值
celftj 2007-05-13
  • 打赏
  • 举报
回复
不如先看牛顿迭代法的算法
摘要:牛顿迭代法是《数值分析》这门课程中一个重要的计算方法和思想。这次的课程设计是通过在学习中所学习到的牛顿迭代的方法的思想计算方程:方程 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的单附近具有平方收敛,而且该法还可以用来方程的重

65,206

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧