迭代法求一元三次方程
简介:本文讲解如何使用迭代法来解,一元三次方程。
题目:
设计精度函数:
#include<iostream> #include<cmath> using namespace std; #define epsilon 1e-4 // 定义精度 int RealNe(double x, double y) // 判断一方是否大于另一方 在精度epsilon // 的前提下 { return x - y > epsilon || y - x > epsilon; } double Phi(double x) // 这个是由上面公式等价转换得到的 { return (x * x * x + 14) / 15; } double Iterate(double x) // 迭代法 { double x0, x1 = x; do { x0 = x1; x1 = Phi(x0); } while(RealNe(x0, x1)); return x1; } int main() { double x0, x; cout << "x0 = "; cin >> x0; x = Iterate(x0); cout << "x = " << x << endl; return 0; }
测试样例: