傅立叶级数显示 - dirtysalt的专栏 - CSDNBlog
来源:百度文库 编辑:神马文学网 时间:2024/04/25 12:58:58
/**//**//**//*利用门函数作为输入函数,开始时只需输入所需计算的傅立叶级数的次数*/
#define TIME_DENSITY 1200/*时间密度,作为积分的度量*/
#define PI 3.1415926
#define HEIGHT 10/*定义们函数的高度*/
#include
#include
#include
/**//**//**//***********************************************/
double f_value[TIME_DENSITY];/**//**//**//*函数值*/
double fori_value[TIME_DENSITY];/**//**//**//*傅立叶级数所求得的值*/
double time[TIME_DENSITY]/**//**//**//*时间*/;
double max,min;/**//**//**//*在傅立叶级数中的最大和最小值*/
double time_upbound,time_downbound;/**//**//**//*时间的上限和下限*/
double time_start,time_end;/**//**//**//*时间的起始和中止*/
double time_width;/**//**//**//*时间的周期*/;
double time_span;/**//**//**//*时间的有效长度*/
double omega,time_step;
/**//**//**//****************************************/
void init()
/**//**//**//*设定好时间步长和函数值*/
/**//**//**//*设置傅立叶级数中的最大和最小值*/
/**//**//**//*设定时间的上下界,有效范围*/
...{
int i,start,end;
max=HEIGHT,min=0;
time_upbound=10,time_downbound=-10;
time_start=-5,time_end=5;
time_width=time_upbound-time_downbound;
time_span=time_end-time_start;
omega=2*PI/time_width;
time_step=time_width/TIME_DENSITY;
for(i=0;i...{
time[i]=time_downbound+i*time_step;
f_value[i]=fori_value[i]=0;
}
start=(time_start-time_downbound)/time_step;
end=(time_end-time_downbound)/time_step;
for(i=start;if_value[i]=fori_value[i]=HEIGHT;
}
void fori(int n)
/**//**//**//*n:所求的傅立叶级数*/
/**//**//**//*对于傅立叶系数积分采用叠加方式,具体公式见书*/
...{
double a,b,tmp;
int i;
a=0.0,b=0.0;
for(i=0;i...{
tmp=(double)(n*omega*time[i]);
a+=f_value[i]*cos(tmp)*time_step;
b+=f_value[i]*sin(tmp)*time_step;
}
a=2*a/time_width;b=2*b/time_width;
max=-100000000;/**//**//**//*better to set as -INT_MAX*/
min=100000000;/**//**//**//*better to set as INT_MAX*/
for(i=0;i...{
tmp=n*omega*time[i];
fori_value[i]+=a*cos(tmp)+b*sin(tmp);
if(fori_value[i]>max)max=fori_value[i];
if(fori_value[i]}
}
void display(int offset)
/**//**//**//*offset:整个图像在纵轴的偏移值*/
...{
int i;
double time_tmp,f_tmp;
double f_scale=max-min;
line(0,offset+200,640,offset+200);/**//**//**//*draw the coordinate*/
line(320,offset-20,320,offset+200);
for(i=0;i...{
time_tmp=(double)i*640/TIME_DENSITY;
f_tmp=offset+(max-fori_value[i])*200/f_scale;/**//**//**//*成比例打点*/
circle(time_tmp,f_tmp,0.5);
}
}
void copyleft()
/**//**//**//*you know,everything has copyright,but this thing is opensource,so is is copyleft*/
...{
cleardevice();
settextstyle(GOTHIC_FONT,HORIZ_DIR,6);
outtextxy(100,180,"CopyLeft By LFX");
settextstyle(DEFAULT_FONT,HORIZ_DIR,1);
outtextxy(250,240,"CopyLeft By LFX");
}
int main()
...{
int i,n;
int gdriver=DETECT,gmode;
printf(" Please input the times of FORI transform ");
printf(" Using function of GATE as example ");
scanf("%d",&n);
initgraph(&gdriver,&gmode,"bgi");
init();
for(i=0;i...{
cleardevice();
display(20);
fori(i+1);
display(260);
getch();
}
copyleft();
getch();
closegraph();
return 0;
}
#define TIME_DENSITY 1200/*时间密度,作为积分的度量*/
#define PI 3.1415926
#define HEIGHT 10/*定义们函数的高度*/
#include
#include
#include
/**//**//**//***********************************************/
double f_value[TIME_DENSITY];/**//**//**//*函数值*/
double fori_value[TIME_DENSITY];/**//**//**//*傅立叶级数所求得的值*/
double time[TIME_DENSITY]/**//**//**//*时间*/;
double max,min;/**//**//**//*在傅立叶级数中的最大和最小值*/
double time_upbound,time_downbound;/**//**//**//*时间的上限和下限*/
double time_start,time_end;/**//**//**//*时间的起始和中止*/
double time_width;/**//**//**//*时间的周期*/;
double time_span;/**//**//**//*时间的有效长度*/
double omega,time_step;
/**//**//**//****************************************/
void init()
/**//**//**//*设定好时间步长和函数值*/
/**//**//**//*设置傅立叶级数中的最大和最小值*/
/**//**//**//*设定时间的上下界,有效范围*/
...{
int i,start,end;
max=HEIGHT,min=0;
time_upbound=10,time_downbound=-10;
time_start=-5,time_end=5;
time_width=time_upbound-time_downbound;
time_span=time_end-time_start;
omega=2*PI/time_width;
time_step=time_width/TIME_DENSITY;
for(i=0;i
time[i]=time_downbound+i*time_step;
f_value[i]=fori_value[i]=0;
}
start=(time_start-time_downbound)/time_step;
end=(time_end-time_downbound)/time_step;
for(i=start;i
}
void fori(int n)
/**//**//**//*n:所求的傅立叶级数*/
/**//**//**//*对于傅立叶系数积分采用叠加方式,具体公式见书*/
...{
double a,b,tmp;
int i;
a=0.0,b=0.0;
for(i=0;i
tmp=(double)(n*omega*time[i]);
a+=f_value[i]*cos(tmp)*time_step;
b+=f_value[i]*sin(tmp)*time_step;
}
a=2*a/time_width;b=2*b/time_width;
max=-100000000;/**//**//**//*better to set as -INT_MAX*/
min=100000000;/**//**//**//*better to set as INT_MAX*/
for(i=0;i
tmp=n*omega*time[i];
fori_value[i]+=a*cos(tmp)+b*sin(tmp);
if(fori_value[i]>max)max=fori_value[i];
if(fori_value[i]
}
void display(int offset)
/**//**//**//*offset:整个图像在纵轴的偏移值*/
...{
int i;
double time_tmp,f_tmp;
double f_scale=max-min;
line(0,offset+200,640,offset+200);/**//**//**//*draw the coordinate*/
line(320,offset-20,320,offset+200);
for(i=0;i
time_tmp=(double)i*640/TIME_DENSITY;
f_tmp=offset+(max-fori_value[i])*200/f_scale;/**//**//**//*成比例打点*/
circle(time_tmp,f_tmp,0.5);
}
}
void copyleft()
/**//**//**//*you know,everything has copyright,but this thing is opensource,so is is copyleft*/
...{
cleardevice();
settextstyle(GOTHIC_FONT,HORIZ_DIR,6);
outtextxy(100,180,"CopyLeft By LFX");
settextstyle(DEFAULT_FONT,HORIZ_DIR,1);
outtextxy(250,240,"CopyLeft By LFX");
}
int main()
...{
int i,n;
int gdriver=DETECT,gmode;
printf(" Please input the times of FORI transform ");
printf(" Using function of GATE as example ");
scanf("%d",&n);
initgraph(&gdriver,&gmode,"bgi");
init();
for(i=0;i
cleardevice();
display(20);
fori(i+1);
display(260);
getch();
}
copyleft();
getch();
closegraph();
return 0;
}
傅立叶级数显示 - dirtysalt的专栏 - CSDNBlog
学习 c#程序显示所选目录及其子目录内所有文件 - acefly的专栏 - CSDNBlog
【讨论】信号与系统学习心得2——周期信号的傅立叶级数表示(页 1) - 信号处理基础 - ...
C armman的专栏 - CSDNBlog
傅立叶变换的意义
Tapestry的介绍 - bfh365的专栏 - CSDNBlog
CFileDialog的详解 - bhw1985的专栏 - CSDNBlog
Xindice的FAQ - TKDD的专栏 - CSDNBlog
多线程的测试 - wuzoujing的专栏 - CSDNBlog
键盘钩子 - lj197912的专栏 - CSDNBlog
J2EE 学习 - fanqinghai的专栏 - CSDNBlog
语义网 - ga34ga34的专栏 - CSDNBlog
STL模板总结 - mfkdyq的专栏 - CSDNBlog
DWR学习(一) - ceun的专栏 - CSDNBlog
RIA技术概览 - icecreamchen的专栏 - CSDNBlog
jndi数据库连接方法 - seawavecau的专栏 - CSDNBlog
U-boot相关 - xbl1986的专栏 - CSDNBlog
java排序算法 - 大海的专栏 - CSDNBlog
理解LUN - rgaofeng的专栏 - CSDNBlog
firebird嵌入式数据库 - suncjs的专栏 - CSDNBlog
打印LOG - 王立伟的专栏 - CSDNBlog
字符编码转化 - daniel_yao的专栏 - CSDNBlog
七七事变纪念(转贴) - WiseNeuro的专栏 - CSDNBlog
MapServer.mapfile - Ani的专栏 - CSDNBlog