⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 algorithm.cpp

📁 C++实现的数值分析源程序
💻 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 + -