計算方法 C C 牛頓迭代法求非線性方程近似根

2021-07-11 22:09:12 字數 699 閱讀 3103

把f(x)在x0附近展開成泰勒級數f(x) = f(x0)+f'(x0)(x-x0)+f''(x0)/2!*(x-x0)^2+...然後取其線性部分,作為非線性方程f(x) = 0的

近似方程,即泰勒展開的前兩項,則有

f(x) = f'(x0)x - x0*f'(x0) + f(x0) = 0

f'(x0)x = x0*f'(x0) - f(x0)

x = x0 - f(x0)/f'(x0)

得到牛頓的乙個迭代序列:

->x(n+1) = x(n)-f(x(n))/f'(x(n))

例:求方程f(x) = 2*x^3-4*x^2+3*x-6在x = 1.5附近的根,求出總的迭代次數和每次的近似根。

#include #include 

using

namespace

std;

double fun1(double

x)double fun2(double

x)int

main()

while(fabs(d) > 1e-5

); cout

<<"

總迭代次數:

"cout

<<"

最終的近似根為:";

printf(

"%lf\n

",x);

return0;

}

牛頓迭代法求解非線性方程 C

一 牛頓迭代法演算法 設 已知 第1步計算函式 第2步計算雅可比矩陣 第3步求線性方程組的解 第4步計算下乙個點 重複上述過程。二 牛頓迭代法c 程式 牛頓迭代解非線性方程組 include include using namespace std double f1 double x double ...

計算方法 迭代法 牛頓法求解方程組

迭代法 給定乙個 方程 f x 0 可以用多種方式來構造它的等價方程 x p x 取定根的乙個近似值 x0,構造序列 xk 1 p xk k 0,1 2 迭代法演算法 1.給定初始值 x0 和精度要求 e 以及最大迴圈次數 k 2.計算 xk 1 p xk 3.xk 1 xk e 如果成立則說明達到...

牛頓迭代法解非線性方程matlab實現

1 功能本程式採用牛頓法,求實係數高次代數方程 f x a0xn a1xn 1 an 1x an an 1 的在初始值x0 附近的乙個根。2.使用說明 1 函式語句 y newton 1 a,n,x0,nn,eps1 呼叫 m檔案newton 1.m。2 引數說明 a n 1 元素的一維實陣列,輸入...