#include
#include
#include
#include "fstream"
#define esp 0.5e-8
using namespace std;
class STIFEN
{
private:
int time; //迭代次数
double svalue; //迭代初值
public:
double aa[20]; //用于存放每次迭代的xk;
double bb[20]; //用于存放每次迭代的误差 f;
double fun(double xk); //需要迭代的函数
double Itformat(double xk); //函数的迭代格式
double test(double xk); //普通迭代格式
void getvalue(); //从文本中读值
double slack(); //计算
void show(); //输出
};
double STIFEN::test(double xk)
{
xk=log(atan(xk)+5)/log(2);
return xk;
}
double STIFEN::fun(double xk)
{
double f;
f=(pow(2,xk)-atan(xk)-5);
return f;
}
double STIFEN::Itformat(double xk)
{
double xk1; //xk1,xk2详见书本175页最下方
double xk2;
xk1=STIFEN::test(xk);
xk2=STIFEN::test(xk1);
xk=xk-(xk1-xk)*(xk1-xk)/(xk2-2*xk1+xk);
return xk;
}
void STIFEN::getvalue()
{
double a[2];
ifstream infile("in.txt",ios::in);
if(!infile)
{
cerr<<"In file open error!"<<
斯特芬森迭代法求解方程根 c++
最新推荐文章于 2023-08-16 16:21:29 发布