迭代法求根问题

我有一个方程f(x1,x2)=0,其中x1,x2均为未知数,我想通过C++编程,用迭代的方法求解这个方程,请问有没有好一些的方法。最好能给一个类似的例子。谢谢。(在线等答案)
我的方程是一个方程有两个未知数,牛顿迭代法好像不能解。
方程是非线性的。

牛顿迭代法(Newton's method)又称为牛顿-拉夫逊方法(Newton-Raphson method),它是牛顿在17世纪提出的一种在实数域和复数域上近似求解方程的方法。多数方程不存在求根公式,因此求精确根非常困难,甚至不可能,从而寻找方程的近似根就显得特别重要。方法使用函数f(x)的泰勒级数的前面几项来寻找方程f(x) = 0的根。牛顿迭代法是求方程根的重要方法之一,其最大优点是在方程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个回答  2007-10-23
牛顿法肯定不行,二维搜索基本没戏本回答被提问者采纳
第2个回答  2007-10-22
首先,你有两个未知道,而只有一个方程,该怎么解呢?
如果说只有一个方程,你用牛顿迭代应当是比较快的。
如果多个方程,你可以通过线性方程组迭代进行求解。
详细可以找一本数值分析或计算方法的书上,都有。

用牛顿迭代法求方程在1.5附近的根
求方程的根,可以转换为求函数f(x)=2x3-4x2+3x-6的根,根据牛顿切线迭代法,我们可以设x0=1.5,设切线方程为:y=kx+b K=f(x)求导=F(x),切线方程过点(x0,f(x0))得:f(x0)=kx0+b,可知b=f(x0)-kx0;求切线方程与x轴的焦点x1的值:0=kx1+b,得x1=-(b\/k),将b和k带...

如何通过迭代法求平方根?
平方根迭代法(square root iterative method一种具有大范围收敛性的方程求根迭代法.设.f<x是阶数小于2的整函数,若f(二)只含实零点,则求方程.f<二)=0根的下述迭代法称为平方根迭代法。用牛顿迭代法求平方根:假设a。欲求a的平方根,首先猜测一个值X1=a\/2,然后根据迭代公式X(n+1)=(Xn+...

牛顿迭代法求根C++
首先最常见的方法是二分法进行求值,这里主要注意精度,还有就是二分法的求值,但是这种方法有时候不满足题目给的时间复杂度的要求,那么需要一种新的方法来进行求值。所以这里给出牛顿迭代法:这里应该大学都知道,一个函数f(x) = x^3-y 的可以在坐标系上画出它的图。随便找一个曲线上的A点(为什么...

迭代法求根问题
这个你要明白这是方程根的数值解法,解的过程是一个逐渐逼近的过程,而不是可以立马得到结果,要是的话那是解析解。所以每次算出的x都是方程的根,但一般迭代次数越多则算出的根越接近真实的根。表示第n次的迭代结果,故xn+1表示第n+1次的迭代结果,这个是对计算误差的控制,即第n+1次的迭代结...

用迭代法求解如下方程在(1,2)内的实根f(x)=x^3-x-1=0请给出具体步骤,非...
f(1)*f(2)<0由连续函数的性质知f(x)=0在(1,2)内有实根。下面做迭代求根 迭代公式xk+1=xk-f(xk)\/f'(xk)取x0=1做迭代 x1=1-f(1)\/f'(1)=

在C语言中,什么是迭代法?
迭代法也称辗转法,是一种不断用变量的旧值递推新值的过程,跟迭代法相对应的是直接法,即一次性解决问题。迭代法又分为精确迭代和近似迭代。“二分法”和“牛顿迭代法”属于近似迭代法。迭代算法是用计算机解决问题的一种基本方法。它利用计算机运算速度快、适合做重复性操作的特点,让计算机对一组指令(或一定步骤)进...

excel迭代计算,出现问题
默认迭代是100次 但是你的公式当进行到第6次时,F11已经大于E11了 这样继续计算的话SQRT(E11-F11) 就变成了对负数开根号,这样的计算在excel中就出现了非法结果 你可以把迭代次数改为1,然后按F9,一次一次观察变化,就可以发现问题

牛顿迭代法——求x的平方根(简单)
实现int sqrt(int x)函数。 计算并返回x的平方根,其中x 是非负整数。 由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。 示例 1:示例 2:要求实现python的sqrt函数,此题考的肯定也不是用x**0.5这种方法... 因此此题考的是牛顿迭代法来求根 这是一种迭代方法,...

c语言用迭代法编程求近似根
牛顿迭代法 牛顿迭代法又称牛顿切线法,它采用以下方法求根:先任意设定一个与真实的根接近的值x0作为第一个近似根,由x0求出f(x0),过(x0,f(x0))点做f(x)的切线,交x轴于x1,把它作为第二次近似根,再由x1求出f(x1),再过(x1,f(x1))点做f(x)的切线,交x轴于x2,再求出f(x...

牛顿迭代法
牛顿迭代法详解牛顿迭代法的核心是解决方程求根问题,以一元函数[公式]为例。当初始值接近零点时,通过一阶泰勒公式近似[公式],寻找直线方程的零点。展开为一阶泰勒公式后,零点的近似计算如下:[公式]将此式转化为迭代公式,我们有:[公式]以下是几个实例:平方根求解:[公式]平方根倒数:[公式]倒数...

相似回答