亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? integrate.cpp

?? 一個方便的求積分的類
?? CPP
字號:
// Integrate.cpp: implementation of the CIntegrate class.
//
//////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////
//
//                   求積分的類
//
/////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////                    
//
//
//              湖南城市學(xué)院  信息與計算科學(xué)系  
//                        黃江峰
//                 jiangfenghuang@msn.com
//                 jiangfenghuang@163.net
//                       2003.4.10          
//
//////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////
//
// 特點:
//    1. 支持各種復(fù)雜的積分表達式,可含任何數(shù)學(xué)函數(shù),
//       如  3*exp(x)*tan(x)/(8+log(x)) 
//    2. 可檢查出表達式的書寫錯誤 
//    3. 可設(shè)置積分精度
//    4. 使用方便簡單
//
/////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////
//
//                    使用方法
// 1. 定義個CIntegrate 對象,構(gòu)造時初始化或用
//    initial(char *s,double Upperlimit,double LowerLimit)]
//    函數(shù)初始化
// 2.調(diào)用SetError(double Error)設(shè)置誤差
// 3.調(diào)用integrate(void)進行積分,若返回值為1,則調(diào)用
//   getvalue(void)取得積分結(jié)果,否則積分結(jié)果有錯,應(yīng)舍棄
//
/////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////
//
//                支持的函數(shù)的編號及功能
//
// 編號     函數(shù)         功能         調(diào)用的math.h庫函數(shù)     備注
//
//   1      abs(x)      取絕對值|x|    fabs(x)      
//   2      acos(x)     反余弦函數(shù)     acos(x)            -1<=x<=1
//   3      asin(x)     反正弦函數(shù)     asin(x)            -1<=x<=1
//   4      atan(x)     反正切函數(shù)     atan(x)
//   5      acot(x)     反余切函數(shù)     PI/2-atan(x)
//   6      cos(x)      余弦函數(shù)       cos(x)
//   7      cosh(x)     雙曲余弦函數(shù)   cosh(x)
//   8      cot(x)      余切函數(shù)       1/tan(x)            tan(x)!=0
//   9      exp(x)      e的x次方       exp(x)
//  10      floor(x)    ⊥x⊥          floor(x)   求不大于x的最大整數(shù) 
//  11      mod(x,y)     x%y           mod(x,y)             y!=0
//  12      ln(x)       取自然對數(shù)     log(x)               x>0
//  13      log(x)      取10的對數(shù)     log10(x)             x>0
//  14      pow(x,y)    x的y次方       pow(x,y)
//  15      sin(x)      正弦函數(shù)       sin(x)
//  16      sinh(x)     雙曲正弦函數(shù)   sinh(x)
//  17      sqrt(x)     對x開方        sqrt(x)            x>=0
//  18      tan(x)      正切函數(shù)       tan(x)
//  19      tanh(x)     雙曲正切函數(shù)   tanh(x)
//
/////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "jifen.h"
#include "Integrate.h"
#include "string.h"
#include "math.h"

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CIntegrate::CIntegrate() //構(gòu)造函數(shù),設(shè)定誤差初始值為0.0001
{
	Error=0.0001;       //誤差初始值為0.0001

}

CIntegrate::~CIntegrate()
{

}

//構(gòu)造函數(shù),將字符串str賦給存放
//達式的字符串mathStr
//設(shè)定誤差初始值為0.0001
CIntegrate::CIntegrate(char *str)        
{
	Error=0.0001;     //設(shè)定誤差初始值為0.0001
    strcpy(mathStr,str);
}

//構(gòu)造函數(shù),將字符串str賦給存放算術(shù)表
//達式的字符串mathStr,uplimit和lowlimit
//分別賦給上限UpperLimit和下限LowerLimit
//設(shè)定誤差初始值為0.0001
CIntegrate::CIntegrate(char *str,double uplimit,double lowlimit)
{
	Error=0.0001;
	strcpy(mathStr,str);
	UpperLimit=uplimit;
	LowerLimit=lowlimit;
}

//初始化函數(shù),將字符串str賦給存放算術(shù)表
//達式的字符串mathStr,uplimit和lowlimit
//分別賦給上限UpperLimit和下限LowerLimit
int CIntegrate::initial(char *str,double uplimit,double lowlimit) 
{
	strcpy(mathStr,str);
	UpperLimit=uplimit;
	LowerLimit=lowlimit;
	return 1;
}

void  CIntegrate::setError(double error)    //設(shè)定誤差
{
	Error=error;
}

//積分函數(shù),
//檢查表達式是否正確
//調(diào)用龍貝格積分函數(shù)RombergIntgrt()
//若表達式和積分正確,返回1,否則返回0                           
int CIntegrate::integrate(void)  
{
	IntgrtStr.Initial(mathStr);   
	                   //初始化對象IntgrtStr
	                   //將算術(shù)表達式mathStr賦給string
	if(!IntgrtStr.checkString())
		return 0;    //檢查表達式是否正確,正確則繼續(xù),否則返回0

    if(RombergIntgrt())         // 積分正確,返回1
       return 1;
	else return 0;              //否則返回0

}

//龍貝格積分函數(shù)
//根據(jù)積分上限、下限、函數(shù)表達式和要求的最誤差,用龍貝格算法
//求積分。如果積分正確,將結(jié)果賦給result。并返回1,否則返回0
int CIntegrate::RombergIntgrt()
{
	double h,         //步長
		t1,t2,sum,    //梯形公式的中間值
		s1,s2=0.0,        //Sinpson公式的中間值
		c1,c2=0.0,        //Cotes公式的中間值
		r1,r2=0.0,        //Romberg公式中間值
		k,x,          //加工次數(shù)、變量x
		a,b;          //上限、下限
	
	flag=1;           //標(biāo)識積分過程中的f(X)Y運算有無錯
	                  //的初始值為1
	a=LowerLimit;
	b=UpperLimit;
	h=b-a;
	t1=h*(f(a)+f(b))/2;
	k=1;
	while(1)       //當(dāng)誤差大于給定誤差
	{
		//梯形公式
		sum=0;
		x=a+h/2;
		while(x<b)
		{
			sum=sum+f(x);
			x=x+h;
		}
		t2=t1/2+h*sum/2;

		//Simpson公式
		s2=t2+(t2-t1)/3;
		if(k==1)
		{
			k++;
			h=h/2;
			t1=t2;
			s1=s2;
			continue;
		}
		 
		//Cotes公式
		c2=s2+(s2-s1)/15;
		if(k==2)
		{
			c1=c2;
			k++;
			h=h/2;
			t1=t2;
			s1=s2;
			continue;
		}

		//Romberg公式
		r2=c2+(c2-c1)/63;
		if(k==3)
		{
			r1=r2;
			c1=c2;
			k++;
			h=h/2;
			t1=t2;
			s1=s2;
			continue;
		}
		if(fabs(r2-r1)<Error || !flag)    //如果滿足誤差或f(x)出錯
			break;                        //則退出
		else                     //否則改變條件,繼續(xù)
		{
			r1=r2;
			c1=c2;
			k++;
			h=h/2;
			t1=t2;
			s1=s2;
			continue;
		}
	
	}//while(1)
	                                    //運算中無錯誤,則繼續(xù)
	if(flag)      //積分過程中無錯誤,則將結(jié)果賦給result,返回1
	{
		result=r2;
        return 1;
	}
	else        //否則返回0
		return 0;

}

//表達式的求值函數(shù)
//返回值為將x代入表達式的值
//若計算中出現(xiàn)錯誤,則將標(biāo)識符flag賦0
double CIntegrate::f(double x)
{
	IntgrtStr.setX(x);   //將變量x賦給IntgrtStr中的x

	IntgrtStr.stringToBolan();  //將表達式轉(zhuǎn)換成波蘭式
	if(!IntgrtStr.compvalue())  //compvalue()返回值為0時表示
		                        //計算正確
		return(IntgrtStr.getvalue());
	else
	{
		flag=0;
		return 0;
	}


}

double CIntegrate::getvalue(void)   //返回積分結(jié)果result的值
{
	return result;
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品护士白丝一区av| 亚洲高清视频的网址| 国产精品原创巨作av| 精品不卡在线视频| 成人激情视频网站| 亚洲视频图片小说| 欧美性生活影院| 久久国产精品露脸对白| 中文字幕免费不卡| 在线亚洲欧美专区二区| 青青草91视频| 国产亚洲短视频| 色视频成人在线观看免| 天天色天天操综合| 久久久夜色精品亚洲| 成人黄色片在线观看| 亚洲小说欧美激情另类| 日韩免费看网站| 成人国产精品免费观看视频| 亚洲精品乱码久久久久久| 日韩一区二区三区四区| 成人不卡免费av| 亚洲动漫第一页| 国产欧美一区二区精品秋霞影院 | 国产欧美精品国产国产专区| www.66久久| 日韩1区2区日韩1区2区| 国产精品五月天| 欧美精品 国产精品| 高清shemale亚洲人妖| 亚洲成人免费看| 国产欧美日韩另类一区| 欧美精品精品一区| 成人午夜在线免费| 麻豆视频一区二区| 有码一区二区三区| 久久久久国产免费免费| 欧美日韩一区小说| a级精品国产片在线观看| 卡一卡二国产精品| 亚洲在线成人精品| 中文一区二区完整视频在线观看| 欧美老女人第四色| 色综合天天综合在线视频| 另类的小说在线视频另类成人小视频在线 | 26uuu亚洲综合色欧美| 不卡的av网站| 麻豆一区二区三区| 亚洲国产aⅴ成人精品无吗| 国产精品视频免费看| 欧美成人一区二区三区片免费| 91国产成人在线| av在线这里只有精品| 国产精品亚洲视频| 美女在线视频一区| 婷婷久久综合九色综合伊人色| 亚洲欧洲精品一区二区三区 | 色综合天天综合| 不卡一区中文字幕| 国产999精品久久久久久| 久久国产精品区| 免费在线观看日韩欧美| 亚洲1区2区3区视频| 亚洲美女淫视频| 亚洲天堂中文字幕| 亚洲欧洲精品一区二区三区不卡| 亚洲日穴在线视频| 成人午夜激情片| 国产久卡久卡久卡久卡视频精品| 午夜精品免费在线| 亚洲一区二区在线观看视频| 国产精品欧美一区二区三区| 久久久久久久久久美女| www久久精品| 日韩免费福利电影在线观看| 欧美一区二区三区公司| 在线不卡的av| 欧美一级艳片视频免费观看| 欧美日韩免费在线视频| 欧美日韩五月天| 欧美老女人第四色| 欧美一区二区日韩| 日韩精品一区二区三区在线 | 91国偷自产一区二区三区成为亚洲经典 | 欧美手机在线视频| 欧美日韩国产系列| 欧美精品tushy高清| 欧美色大人视频| 欧美一区二区三级| 亚洲精品一区二区三区蜜桃下载 | 欧美主播一区二区三区| 欧美日韩视频一区二区| 欧美一区二区成人| 欧美精品一区二区三区蜜臀| 国产拍欧美日韩视频二区| 亚洲国产高清aⅴ视频| 亚洲同性同志一二三专区| 色综合欧美在线视频区| 色欧美88888久久久久久影院| 一本大道久久a久久精二百| 欧美视频一区二区三区四区| 欧美一区二区三区四区五区| 久久综合九色综合欧美亚洲| 国产精品乱码妇女bbbb| 亚洲曰韩产成在线| 精油按摩中文字幕久久| 成人av综合一区| 9191国产精品| 国产精品三级视频| 亚洲va欧美va人人爽| 国内欧美视频一区二区| 色综合天天视频在线观看| 欧美电影在线免费观看| 久久婷婷一区二区三区| 亚洲精品国产精华液| 久久99精品网久久| 日本道色综合久久| 久久婷婷综合激情| 亚洲午夜一区二区三区| 国产精品18久久久久久久久久久久 | 久久99精品久久只有精品| 国产一区二区三区香蕉| 99精品视频在线播放观看| 91精品啪在线观看国产60岁| 国产精品丝袜黑色高跟| 日韩成人av影视| 91在线精品秘密一区二区| 日韩欧美国产电影| 亚洲精品国产无套在线观| 国产乱码精品一区二区三区五月婷| 91看片淫黄大片一级在线观看| 日韩欧美亚洲一区二区| 一级中文字幕一区二区| 国产不卡在线一区| 欧美电视剧免费观看| 亚洲小说欧美激情另类| av激情亚洲男人天堂| 日韩美一区二区三区| 亚洲自拍偷拍麻豆| 成人精品电影在线观看| 精品国产乱码久久久久久浪潮 | 国产精品久久久久久久久图文区| 亚洲综合久久av| 国产成人在线观看免费网站| 精品视频免费看| 综合网在线视频| 国产精品亚洲人在线观看| 这里只有精品99re| 亚洲乱码国产乱码精品精可以看 | 欧美亚洲国产一区二区三区va | 综合久久久久综合| 丁香激情综合国产| 欧美精品一区二区三区在线播放 | 91色porny| 精品国产123| 午夜久久久影院| 91福利在线导航| 一区二区三区四区激情| av一本久道久久综合久久鬼色| 欧美极品xxx| 国产69精品久久久久777| 久久午夜老司机| 国产高清不卡一区| 国产亚洲成年网址在线观看| 国产麻豆91精品| 国产日韩欧美一区二区三区综合| 国产一区二区三区蝌蚪| 久久先锋资源网| 国产高清在线精品| 国产精品灌醉下药二区| 99久精品国产| 亚洲在线视频网站| 欧美日韩午夜在线视频| 日本免费新一区视频| 精品日韩欧美在线| 国产一区二区三区四区五区入口| 欧美精品一区男女天堂| 国产91丝袜在线播放| 国产精品国产三级国产专播品爱网| 不卡在线观看av| 洋洋成人永久网站入口| 欧美伦理影视网| 久草这里只有精品视频| 欧美日韩大陆在线| 亚洲高清视频在线| 欧美一区午夜视频在线观看| 麻豆一区二区三| 日本一区二区动态图| caoporen国产精品视频| 洋洋av久久久久久久一区| 7777精品久久久大香线蕉| 精品一区二区三区欧美| 中文字幕+乱码+中文字幕一区| 91片在线免费观看| 三级久久三级久久| 26uuu亚洲综合色欧美| av激情成人网| 三级久久三级久久| 国产精品系列在线| 亚洲视频香蕉人妖|