把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 #includeusing
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 元素的一維實陣列,輸入...