非線性方程求根迭代法

2021-07-30 05:50:54 字數 1484 閱讀 6945

一、寫在前面

實驗目的
(1) 熟悉非線性方程求根簡單迭代法,牛頓迭代及牛頓下山法

(2) 能程式設計實現簡單迭代法,牛頓迭代及牛頓下山法

(3) 認識選擇迭代格式的重要性

(4) 對迭代速度建立感性的認識;分析實驗結果體會初值對迭代的影響

實驗內容

**本次實驗參考公式**

二、實驗過程

【參考**】

#include 

#include

#include

double iterationfunction(double x) //迭代函式

double function(double x) //原函式 f(x)

double derivativefunction(double x) //導函式 f'(x)

double iteration(double x0, double e, int n) //一般迭代演算法

//輸入引數: x0 初值, e 精度, n 最大迭代次數

return

0; //迭代失敗:迭代次數超過最大迭代次數,精度未達到要求

}double aitkenaccelerate(double x0, double e, int n) //aitken加速演算法

//輸入引數: x0 初值, e 精度, n 最大迭代次數、

return0;}

double newton(double x0, double e, int n) //newton演算法

return0;}

double newtondown(double x0, double e, int n) //newton下山演算法

k++;

if(down <= 0.0000001)

printf("k = %d: x%d = %lf, 下山因子 = %lf\n", k, k, x1, down);

if(fabs(x1-x0) < e)

return x1;

x0 = x1;

}return0;}

int main()

三、實驗結果

四、寫在後面

經歷了幾次有關數值分析的程式編寫之後,有了一定的將數學知識轉化為程式的能力,但是一些高階的演算法還是得有較厚的數學功底,利用數學解決實際工程問題才是最終的目的,希望在這條道路上有所成長。

非線性方程求根

假設本金為2000元,分2個月還,每個月還1100,月利率為x,則 2000 1 x c 1 x c 0,令f x 2000 1 x c 1 x c,當f x 0時,說明月利率太高了 當f x 0時說明月利率正確 當f x 0時,月利率過低。結果要求輸出三位小數。include include in...

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

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

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

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