這部分演算法實現起來比較弱智~~~~直接放碼吧
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...