數值分析4 非線性方程求根

2021-07-02 07:46:13 字數 1346 閱讀 5801

這部分演算法實現起來比較弱智~~~~直接放碼吧

1 簡單迭代

求根 x^4 -3x - 2 = 0.

#include #include #include #include #include #include using namespace std;

typedef long long ll;

const int maxn = 501;

double x;

int n;///n元方程組,最大迭代n次

double eps;///誤差限

double fun(double x)

int main()

x = xx;

}cout << x << endl;

}return 0;

}

2.aitken加速演算法

求根 x = 1.6 + 0.99cos(x)在pi/2附近

#include #include #include #include #include #include using namespace std;

typedef long long ll;

const int maxn = 501;

double x;

int n;///n元方程組,最大迭代n次

double eps;///誤差限

double fun(double x)

int main()

a = x - (y-x)*(y-x)/(z-2*y+x);

if(fabs(a-x)<1e-7)

x = a;

}if(ok)cout << x << endl;

else cout << "failed" <

求根 例4-5

只需要改簡單迭代演算法的迭代函式

#include #include #include #include #include #include #define e 2.718281828459

using namespace std;

typedef long long ll;

const int maxn = 501;

double x;

int n;///n元方程組,最大迭代n次

double eps;///誤差限

double fun(double x)

int main()

a = x - (y-x)*(y-x)/(z-2*y+x);

if(fabs(a-x)<1e-7)

x = a;

}if(ok)cout << x << endl;

else cout << "failed" <

非線性方程求根

假設本金為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...

(matlab系列)非線性方程求根

非線性方程在5次以上的時候沒有求根公式 根據高等代數的阿貝爾群的概念得知 所以直接求解比較麻煩,需要借助解析幾何的工具,結合圖形採用特殊的方法求解 逼近法。主要有二分法 迭代法 包括牛頓迭代和割線法 逼近法的本質就是先給乙個估計值 近似值 作為方程解,然後對這個估計值一步一步地修正,使得它越來越像真...

非線性方程求根迭代法

一 寫在前面 實驗目的 1 熟悉非線性方程求根簡單迭代法,牛頓迭代及牛頓下山法 2 能程式設計實現簡單迭代法,牛頓迭代及牛頓下山法 3 認識選擇迭代格式的重要性 4 對迭代速度建立感性的認識 分析實驗結果體會初值對迭代的影響 實驗內容 本次實驗參考公式 二 實驗過程 參考 include inclu...