📄 algorithm.cpp
字号:
//积分的精度测试
//梁霄 11/24/2005
#include"Algorithm.h"
#define ACCURATE_VALUE 0.182322;
#define ROUGH_VALUE 1.0/(15*21);
IntegralError::IntegralError(int incounter)
{
counter = incounter;
badsum = 0.0;
goodsum = 0.0;
}
double IntegralError::BadMethod(int number)
{
if(number != 0)
{
badsum = -5*BadMethod(number-1);
badsum += 1.0/number;
}
else
{
badsum = ACCURATE_VALUE;
}
cout<<"I"<<number<<":"<<badsum<<endl;
return badsum;
}
double IntegralError::GoodMethod(int number)
{
if(number != counter)
{
goodsum = -GoodMethod(number+1)/5;
goodsum += 1.0/(5*number);
}
else
{
goodsum = ROUGH_VALUE;
}
cout<<"I"<<number<<":"<<goodsum<<endl;
return goodsum;
}
//二分法
double BiSect::f(double x)//求根函数
{
return pow(x,3)-x-1;
}
void BiSect::Root(double a,double b,double e)
{
double mid,y0,y;
while((b-a)>=e)
{
y=f(a);
mid=(a+b)/2;
y0=f(mid);
if(y*y0>=0)
a=mid;
else
b=mid;
};
cout<<"--------Bisect Method--------"<<endl;
cout<<"The approximate root is:"<<(b+a)/2<<endl;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -