c语言牛顿迭代法求方程在0近似值,C语言编程 牛顿迭代法求方程1

用C语言编写程序,应用牛顿迭代法求解方程的详细思想和方法

牛顿迭代公式

设r是f(x) = 0的根,选取x0作为r初始近似值,过点(x0,f(x0))

1-31-jpg_6_0_______-55-0-0-55.jpg

的切线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

1-31-jpg_6_0_______-73-0-31-73.jpg

似方法。把f(x)在x0

1-31-jpg_6_0_______-49-0-62-49.jpg

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))。

牛顿迭代法又称牛顿切线法,它采用以下方法求根:先任意设定一个与真实的根接近的值

x0作为第一个近似根,由x0求出f(x0),过(x0,f(x0))点做f(x)的切线,交x轴于x1,把它

作为第二次近似根,再由x1求出f(x1),再过(x1,f(x1))点做f(x)的切线,交x轴于x2,再

*求出f(x2),再作切线 如此继续下去,直到足够接近真正的x为止。

f'(x0) f(x0)

x1 x0

f(x0)

f'(x0) 因此,x1 x0

就是牛顿迭代公式。

例1 用牛顿迭代法求方程2x-4x+3x-6=0在1.5附近的根。

本题中,f(x)= 2x3-4x2+3x-6=((2x-4)x+3)x-6

f’(x)= 6x2-8x+3=(6x-8)x+3

#include "stdio.h"

32

你可能感兴趣的:(c语言牛顿迭代法求方程在0近似值,C语言编程 牛顿迭代法求方程1)