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

2021-09-19 15:18:57 字數 1258 閱讀 3624

牛頓法

牛頓法是一種線性化方法,其基本思想是將非線性方程f(x)=0逐步歸結為某種線性方程來求解。

設已知方程有近似根(假定),將函式在點展開,有

於是方程可近似地表示為

這是個線性方程,記其根為,則的計算公式

這就是牛頓法。

一、演算法及流程

對於非線性方程

在處按照多元函式的泰勒展開,並取線性項得到

其中

這樣便得到迭代公式:

這邊是牛頓迭代法的演算法過程,牛頓迭代法是工程上應用最多的一種非線性方程組的計算方程法。

二、**及實現

/*

*功能:牛頓迭代法求解非線性方程

*姓名:孫澤 日期:2023年4月24日

*/#include#include#define tol -10 /*精度*/

/*--------------------

*方程組及一階導數

--------------------*/

double func1(double x, double y)

double func2(double x, double y)

double func11(double x, double y)

double func21(double x, double y)

int main(void)

printf("迭代次數:%d\n",c_times-1);

printf("方程組解:\n");

printf("%.20lg\t%.20lg\n",r_x,r_y);

getchar();

return 0;

}

三、運算結果

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

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

迭代法求解非線性方程的根

1 求解的是非線性方程放f x 0的根 1 判斷使用全域性收斂性定理還是區域性收斂性定理 全域性收斂性 未知根,已知根的取值區間 定理1.1 1.2 區域性收斂性 已知根,即已知根的鄰域 定理1.3 1.4 2 解題步驟 根的存在性 零點存在定理 唯一性 單調性 反證法 迭代格式的收斂性 一般用 a...

牛頓迭代法解非線性方程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 元素的一維實陣列,輸入...