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

📄 job.cpp

📁 自制的 余弦和三角波计算(使用计算方法的2分法求解余弦和三角波的交点)
💻 CPP
字号:
//	三角波周期0.1ms,幅值1000
//	SIN波周期20ms,幅值800
//	求交点坐标
//  使用二分法迭代求解根
//	2006.05.21


#include "stdafx.h"
#include "conio.h"
#include "math.h"

#define PI 3.14159265358979
#define ep 0.00000000000001  //解的误差设置

double w=2*PI/20;//定义SIN角速度


inline double calc_sin(double t)//计算t时刻sin值
{  
	return 800*sin(w*t);
}

inline double calc_tri(double t)//计算t时刻三角波值
{
	double t1=t-(int)(t*10)/10.0;
	if(t1<0.05)
		return t1*20000; 
	else 
		return (0.1-t1)*20000; 
}

inline double diedai(double t1, double t2)//求解在t时刻附近的 Sin(x)-Tri(x)的近似解
{ 
	double t;
	if(calc_sin(t1)-calc_tri(t1)==0) return calc_sin(t1)-calc_tri(t1);
	if(calc_sin(t2)-calc_tri(t2)==0) return calc_sin(t2)-calc_tri(t2);
	
	do{
			t=(t1+t2)/2;
			double temp1=calc_sin(t)-calc_tri(t);
			double temp2=calc_sin(t1)-calc_tri(t1);
			double temp=temp1*temp2;
			
			if(temp1==0)
				return t;
			if(temp<0)
				t2=t;
			if(temp>0)
				t1=t;
	}while (t2-t1>ep);
	return (t1+t2)/2;	
}

int main(int argc, char* argv[])
{
	printf("\tSin(X)-sin波\tTri(X)-三角波 \t交点计算\n\n");
	double fx;
	for(double t=0;t<=10;t+=0.05)
	{
		//调用迭代函数
		fx=diedai(t,t+.05);
		printf("Sin(%.11f)= \tTri(%.11f)= \t%.11f\n",fx,fx,calc_sin(fx));
	}
	

	getch();
	return 0;
}

/*以下为计算结果
        Sin(X)-sin?    Tri(X)-???   ????

Sin(0.00000000000)=     Tri(0.00000000000)=     0.00000000000
Sin(0.09875915496)=     Tri(0.09875915496)=     24.81690087054
Sin(0.10127241197)=     Tri(0.10127241197)=     25.44823945676
Sin(0.19751948948)=     Tri(0.19751948948)=     49.61021032247
Sin(0.20254351972)=     Tri(0.20254351972)=     50.87039432071
Sin(0.29628218216)=     Tri(0.29628218216)=     74.35635682993
Sin(0.30381202049)=     Tri(0.30381202049)=     76.24040975602
Sin(0.39504840957)=     Tri(0.39504840957)=     99.03180864501
Sin(0.40507661452)=     Tri(0.40507661452)=     101.53229039383
Sin(0.49381934532)=     Tri(0.49381934532)=     123.61309366759
Sin(0.50633600650)=     Tri(0.50633600650)=     126.72012994850
Sin(0.59259615904)=     Tri(0.59259615904)=     148.07681929226
Sin(0.60758890703)=     Tri(0.60758890703)=     151.77814069363
Sin(0.69138001539)=     Tri(0.69138001539)=     172.39969222437
Sin(0.70883403414)=     Tri(0.70883403414)=     176.68068275147
Sin(0.79017207309)=     Tri(0.79017207309)=     196.55853825750
Sin(0.81007011466)=     Tri(0.81007011466)=     201.40229315040
Sin(0.88897348390)=     Tri(0.88897348390)=     220.53032200407
Sin(0.91129588573)=     Tri(0.91129588573)=     225.91771460525
Sin(0.98778539167)=     Tri(0.98778539167)=     244.29216657106
Sin(1.01251009620)=     Tri(1.01251009620)=     250.20192397635
Sin(1.08660893134)=     Tri(1.08660893134)=     267.82137317229
Sin(1.11371150802)=     Tri(1.11371150802)=     274.23016036408
Sin(1.18544522797)=     Tri(1.18544522797)=     291.09544066868
Sin(1.21489889764)=     Tri(1.21489889764)=     297.97795279641
Sin(1.28429539575)=     Tri(1.28429539575)=     314.09208502761
Sin(1.31607105737)=     Tri(1.31607105737)=     321.42114746845
Sin(1.38316053707)=     Tri(1.38316053707)=     336.78925869218
Sin(1.41722679672)=     Tri(1.41722679672)=     344.53593449390
Sin(1.48204174151)=     Tri(1.48204174151)=     359.16516985086
Sin(1.51836494371)=     Tri(1.51836494371)=     367.29887412990
Sin(1.58094008492)=     Tri(1.58094008492)=     381.19830159793
Sin(1.61948434612)=     Tri(1.61948434612)=     389.68692243780
Sin(1.67985662845)=     Tri(1.67985662845)=     402.86743097437
Sin(1.72058387282)=     Tri(1.72058387282)=     411.67745634449
Sin(1.77879241761)=     Tri(1.77879241761)=     424.15164787882
Sin(1.82166241490)=     Tri(1.82166241490)=     433.24829806977
Sin(1.87774848131)=     Tri(1.87774848131)=     445.03037383784
Sin(1.92271888694)=     Tri(1.92271888694)=     454.37773888754
Sin(1.97672583097)=     Tri(1.97672583097)=     465.48338062392
Sin(2.02375222811)=     Tri(2.02375222811)=     475.04456218989
Sin(2.07572545956)=     Tri(2.07572545956)=     485.49080870996
Sin(2.12476140329)=     Tri(2.12476140329)=     495.22806582518
Sin(2.17474834072)=     Tri(2.17474834072)=     505.03318554771
Sin(2.22574540418)=     Tri(2.22574540418)=     514.90808368288
Sin(2.27379542782)=     Tri(2.27379542782)=     524.09144365794
Sin(2.32670325032)=     Tri(2.32670325032)=     534.06500649992
Sin(2.37286765307)=     Tri(2.37286765307)=     542.64693851911
Sin(2.42763399009)=     Tri(2.42763399009)=     552.67980186510
Sin(2.47196592669)=     Tri(2.47196592669)=     560.68146624125
Sin(2.52853670167)=     Tri(2.52853670167)=     570.73403340021
Sin(2.57109113595)=     Tri(2.57109113595)=     578.17728101094
Sin(2.62941049395)=     Tri(2.62941049395)=     588.20987909821
Sin(2.67024414439)=     Tri(2.67024414439)=     595.11711229317
Sin(2.73025450744)=     Tri(2.73025450744)=     605.09014880100
Sin(2.76942579091)=     Tri(2.76942579091)=     611.48418177503
Sin(2.83106791504)=     Tri(2.83106791504)=     621.35830080122
Sin(2.86863688900)=     Tri(2.86863688900)=     627.26222003596
Sin(2.93184992288)=     Tri(2.93184992288)=     636.99845755438
Sin(2.96787822585)=     Tri(2.96787822585)=     642.43548292872
Sin(3.03259977102)=     Tri(3.03259977102)=     651.99542048972
Sin(3.06715056162)=     Tri(3.06715056162)=     656.98876765473
Sin(3.13331673420)=     Tri(3.13331673420)=     666.33468390999
Sin(3.16645462857)=     Tri(3.16645462857)=     670.90742851706
Sin(3.23400012240)=     Tri(3.23400012240)=     680.00244797245
Sin(3.26579113038)=     Tri(3.26579113038)=     684.17739233381
Sin(3.33464928154)=     Tri(3.33464928154)=     692.98563074493
Sin(3.36516074133)=     Tri(3.36516074133)=     696.78517349433
Sin(3.43526359397)=     Tri(3.43526359397)=     705.27187933315
Sin(3.46456410557)=     Tri(3.46456410557)=     708.71788863996
Sin(3.53584247900)=     Tri(3.53584247900)=     716.84958007662
Sin(3.56400183645)=     Tri(3.56400183645)=     719.96327095120
Sin(3.63638539339)=     Tri(3.63638539339)=     727.70786781294
Sin(3.66347451580)=     Tri(3.66347451580)=     730.50968402201
Sin(3.73689183171)=     Tri(3.73689183171)=     737.83663421137
Sin(3.76298269323)=     Tri(3.76298269323)=     740.34613530236
Sin(3.83736132676)=     Tri(3.83736132676)=     747.22653517861
Sin(3.86252688555)=     Tri(3.86252688555)=     749.46228908935
Sin(3.93779344987)=     Tri(3.93779344987)=     755.86899734111
Sin(3.96210757605)=     Tri(3.96210757605)=     757.84847904704
Sin(4.03818781118)=     Tri(4.03818781118)=     763.75622360988
Sin(4.06172521399)=     Tri(4.06172521399)=     765.49572023499
Sin(4.13854405989)=     Tri(4.13854405989)=     770.88119783502
Sin(4.16138021397)=     Tri(4.16138021397)=     772.39572062504
Sin(4.23886188443)=     Tri(4.23886188443)=     777.23768855882
Sin(4.26107295540)=     Tri(4.26107295540)=     778.54089208602
Sin(4.33914101259)=     Tri(4.33914101259)=     782.82025187743
Sin(4.36080378196)=     Tri(4.36080378196)=     783.92436081556
Sin(4.43938121167)=     Tri(4.43938121167)=     787.62423342237
Sin(4.46057300114)=     Tri(4.46057300114)=     788.53997719845
Sin(4.53958228847)=     Tri(4.53958228847)=     791.64576947427
Sin(4.56038088375)=     Tri(4.56038088375)=     792.38232507059
Sin(4.63974408936)=     Tri(4.63974408936)=     794.88178722250
Sin(4.66022766348)=     Tri(4.66022766348)=     795.44673036795
Sin(4.73986650021)=     Tri(4.73986650021)=     797.33000418497
Sin(4.76011353654)=     Tri(4.76011353654)=     797.72926913980
Sin(4.83994944634)=     Tri(4.83994944634)=     798.98892680383
Sin(4.86003866125)=     Tri(4.86003866125)=     799.22677490562
Sin(4.93999289241)=     Tri(4.93999289241)=     799.85784823309
Sin(4.96000315773)=     Tri(4.96000315773)=     799.93684533538
Sin(5.03999684227)=     Tri(5.03999684227)=     799.93684533538
Sin(5.06000710759)=     Tri(5.06000710759)=     799.85784823309
Sin(5.13996133875)=     Tri(5.13996133875)=     799.22677490562
Sin(5.16005055366)=     Tri(5.16005055366)=     798.98892680383
Sin(5.23988646346)=     Tri(5.23988646346)=     797.72926913980
Sin(5.26013349979)=     Tri(5.26013349979)=     797.33000418497
Sin(5.33977233652)=     Tri(5.33977233652)=     795.44673036795
Sin(5.36025591064)=     Tri(5.36025591064)=     794.88178722250
Sin(5.43961911625)=     Tri(5.43961911625)=     792.38232507059
Sin(5.46041771153)=     Tri(5.46041771153)=     791.64576947427
Sin(5.53942699886)=     Tri(5.53942699886)=     788.53997719845
Sin(5.56061878833)=     Tri(5.56061878833)=     787.62423342237
Sin(5.63919621804)=     Tri(5.63919621804)=     783.92436081556
Sin(5.66085898741)=     Tri(5.66085898741)=     782.82025187743
Sin(5.73892704460)=     Tri(5.73892704460)=     778.54089208602
Sin(5.76113811557)=     Tri(5.76113811557)=     777.23768855882
Sin(5.83861978603)=     Tri(5.83861978603)=     772.39572062504
Sin(5.86145594011)=     Tri(5.86145594011)=     770.88119783502
Sin(5.93827478601)=     Tri(5.93827478601)=     765.49572023499
Sin(5.96181218882)=     Tri(5.96181218882)=     763.75622360988
Sin(6.03789242395)=     Tri(6.03789242395)=     757.84847904704
Sin(6.06220655013)=     Tri(6.06220655013)=     755.86899734111
Sin(6.13747311445)=     Tri(6.13747311445)=     749.46228908935
Sin(6.16263867324)=     Tri(6.16263867324)=     747.22653517861
Sin(6.23701730677)=     Tri(6.23701730677)=     740.34613530236
Sin(6.26310816829)=     Tri(6.26310816829)=     737.83663421137
Sin(6.33652548420)=     Tri(6.33652548420)=     730.50968402201
Sin(6.36361460661)=     Tri(6.36361460661)=     727.70786781294
Sin(6.43599816355)=     Tri(6.43599816355)=     719.96327095120
Sin(6.46415752100)=     Tri(6.46415752100)=     716.84958007662
Sin(6.53543589443)=     Tri(6.53543589443)=     708.71788863996
Sin(6.56473640603)=     Tri(6.56473640603)=     705.27187933315
Sin(6.63483925867)=     Tri(6.63483925867)=     696.78517349433
Sin(6.66535071846)=     Tri(6.66535071846)=     692.98563074493
Sin(6.73420886962)=     Tri(6.73420886962)=     684.17739233382
Sin(6.76599987760)=     Tri(6.76599987760)=     680.00244797245
Sin(6.83354537143)=     Tri(6.83354537143)=     670.90742851706
Sin(6.86668326580)=     Tri(6.86668326580)=     666.33468391000
Sin(6.93284943838)=     Tri(6.93284943838)=     656.98876765473
Sin(6.96740022898)=     Tri(6.96740022898)=     651.99542048972
Sin(7.03212177415)=     Tri(7.03212177415)=     642.43548292872
Sin(7.06815007712)=     Tri(7.06815007712)=     636.99845755438
Sin(7.13136311100)=     Tri(7.13136311100)=     627.26222003596
Sin(7.16893208496)=     Tri(7.16893208496)=     621.35830080122
Sin(7.23057420909)=     Tri(7.23057420909)=     611.48418177503
Sin(7.26974549256)=     Tri(7.26974549256)=     605.09014880100
Sin(7.32975585561)=     Tri(7.32975585561)=     595.11711229317
Sin(7.37058950605)=     Tri(7.37058950605)=     588.20987909821
Sin(7.42890886405)=     Tri(7.42890886405)=     578.17728101094
Sin(7.47146329833)=     Tri(7.47146329833)=     570.73403340021
Sin(7.52803407331)=     Tri(7.52803407331)=     560.68146624125
Sin(7.57236600991)=     Tri(7.57236600991)=     552.67980186510
Sin(7.62713234693)=     Tri(7.62713234693)=     542.64693851912
Sin(7.67329674968)=     Tri(7.67329674968)=     534.06500649992
Sin(7.72620457218)=     Tri(7.72620457218)=     524.09144365794
Sin(7.77425459582)=     Tri(7.77425459582)=     514.90808368289
Sin(7.82525165928)=     Tri(7.82525165928)=     505.03318554771
Sin(7.87523859671)=     Tri(7.87523859671)=     495.22806582518
Sin(7.92427454044)=     Tri(7.92427454044)=     485.49080870996
Sin(7.97624777189)=     Tri(7.97624777189)=     475.04456218989
Sin(8.02327416903)=     Tri(8.02327416903)=     465.48338062392
Sin(8.07728111306)=     Tri(8.07728111306)=     454.37773888754
Sin(8.12225151869)=     Tri(8.12225151869)=     445.03037383784
Sin(8.17833758510)=     Tri(8.17833758510)=     433.24829806977
Sin(8.22120758239)=     Tri(8.22120758239)=     424.15164787883
Sin(8.27941612718)=     Tri(8.27941612718)=     411.67745634449
Sin(8.32014337155)=     Tri(8.32014337155)=     402.86743097437
Sin(8.38051565388)=     Tri(8.38051565388)=     389.68692243780
Sin(8.41905991508)=     Tri(8.41905991508)=     381.19830159793
Sin(8.48163505629)=     Tri(8.48163505629)=     367.29887412990
Sin(8.51795825849)=     Tri(8.51795825849)=     359.16516985086
Sin(8.58277320328)=     Tri(8.58277320328)=     344.53593449391
Sin(8.61683946293)=     Tri(8.61683946293)=     336.78925869218
Sin(8.68392894263)=     Tri(8.68392894263)=     321.42114746845
Sin(8.71570460425)=     Tri(8.71570460425)=     314.09208502762
Sin(8.78510110236)=     Tri(8.78510110236)=     297.97795279641
Sin(8.81455477203)=     Tri(8.81455477203)=     291.09544066868
Sin(8.88628849198)=     Tri(8.88628849198)=     274.23016036409
Sin(8.91339106866)=     Tri(8.91339106866)=     267.82137317229
Sin(8.98748990380)=     Tri(8.98748990380)=     250.20192397636
Sin(9.01221460833)=     Tri(9.01221460833)=     244.29216657107
Sin(9.08870411427)=     Tri(9.08870411427)=     225.91771460525
Sin(9.11102651610)=     Tri(9.11102651610)=     220.53032200408
Sin(9.18992988534)=     Tri(9.18992988534)=     201.40229315040
Sin(9.20982792691)=     Tri(9.20982792691)=     196.55853825750
Sin(9.29116596586)=     Tri(9.29116596586)=     176.68068275147
Sin(9.30861998461)=     Tri(9.30861998461)=     172.39969222437
Sin(9.39241109297)=     Tri(9.39241109297)=     151.77814069363
Sin(9.40740384096)=     Tri(9.40740384096)=     148.07681929226
Sin(9.49366399350)=     Tri(9.49366399350)=     126.72012994851
Sin(9.50618065468)=     Tri(9.50618065468)=     123.61309366759
Sin(9.59492338548)=     Tri(9.59492338548)=     101.53229039383
Sin(9.60495159043)=     Tri(9.60495159043)=     99.03180864501
Sin(9.69618797951)=     Tri(9.69618797951)=     76.24040975603
Sin(9.70371781784)=     Tri(9.70371781784)=     74.35635682993
Sin(9.79745648028)=     Tri(9.79745648028)=     50.87039432072
Sin(9.80248051052)=     Tri(9.80248051052)=     49.61021032247
Sin(9.89872758803)=     Tri(9.89872758803)=     25.44823945676
Sin(9.90124084504)=     Tri(9.90124084504)=     24.81690087055
Sin(10.00000000000)=    Tri(10.00000000000)=    0.00000000000

*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -