信息工程实验报告1.docx

上传人:b****2 文档编号:23184413 上传时间:2023-05-15 格式:DOCX 页数:25 大小:17.42KB
下载 相关 举报
信息工程实验报告1.docx_第1页
第1页 / 共25页
信息工程实验报告1.docx_第2页
第2页 / 共25页
信息工程实验报告1.docx_第3页
第3页 / 共25页
信息工程实验报告1.docx_第4页
第4页 / 共25页
信息工程实验报告1.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

信息工程实验报告1.docx

《信息工程实验报告1.docx》由会员分享,可在线阅读,更多相关《信息工程实验报告1.docx(25页珍藏版)》请在冰豆网上搜索。

信息工程实验报告1.docx

信息工程实验报告1

版权声明

本文内的全部内容均由本人编写,可以用来参考学习,但不可用来进行商业活动。

一切代码解释权均归作者扎楠所有。

所有题目以实验指导书为准。

之所以制作这个word只是为了给将来和即将面对席大林老师以及他的课程的同学一些程序上的参考,避免走弯路,花更多的时间在缤纷多彩的大学生活中,不要纠结于这些琐事。

 

信息工程实验例程

指导教师:

席大林

 

实验1

doublestep(doublet)

{return(t>=0)?

1:

0;}

 

doublexiebian(doublet)

{return(t>=0)?

t:

0;}

 

doublesquarewave(doublet,doubleT[2])

{doublea;

if(T[0]<=0||T[1]<=0)

{printf("squareWave()inputerror\n");exit

(1);}

a=fmod(t,T[0]);

if(a>0)return(a<=T[1])?

1.0:

0.0;

elsereturn(a>(-T[0]+T[1]))?

0.0:

1.0;}

 

doubletrianglewave(doublet,doubleT[1])

{doublea;

if(T[0]<=0)

{printf("triangleWave()inputerror\n");exit

(1);}

a=fmod(t,T[0]);

if(a>0)return(a/T[0]);

elsereturn(1+a/T[0]);}

 

doublehfunc(doublea,double*b)

{doublefz,fm;

fz=a*a+b[0]*b[0];

fm=((a-1)*(a-1)+b[0]*b[0])*((a-3)*(a-3)+b[0]*b[0]);

if(fm==0.0)returnMAXDOUBLE;

if(fm<1.0)returnsqrt(fz/fm);

elsereturnsqrt(fz*fm)/fm;}

 

doublesinc(doublea,double*b)

{doublefz,fm;

fz=sin(0.5*a)*cos(a*b[0]);

fm=0.5*a;

if(fm==0.0)returnMAXDOUBLE;

elsereturn(fz/fm);}

实验2

/*#include*/

#include

#include"c:

\xxgc\zn.c"

main()

{initgd("");

{setbkcolor(WHITE);

setvp2(0,0,500,400,"2dimensionfigure","typeanykeytonext",BLUE);

coord2(-10.0,2.0,10.0,-2.0);

frame2("x","y",LIGHTRED);

xy2(RED);

plotxy2(BLUE,xiebian);getch();}

 

clearviewport();xy2(RED);

{doubleT[2]={4,3};plotxy2(BLUE,trianglewave,T);getch();}

 

setvp3(0,0,400,"3dimensionfigure","typeanykeyexit",BLUE);

coord3(-1,-1,0,8,7,5);

frame3("t","w","f(a,)",RED);

xyz3(GREEN);

plotxyz3(BLUE,sinc);getch();

 

closegraph();

}

 

实验3

1)

#include

doublea[20],b[20],c[20],d[20],T=3.1415925;inti,N=4;

doublelsinl(doublet)

{

if(sin(t)>=0)returnsin(t);

elsereturn-1*sin(t);

}

 

doubleWC1(doublet,double*T,doublea[],doubleb[],int*N)

{returnlsinl(t)-FouSer(t,T,a,b,N);}

doubleWC2(doublet,double*T,doublec[],int*N)

{returnlsinl(t)-WalSer(t,T,c,N);}

main()

{

for(i=0;i

{a[i]=fcosCoef(i,T,lsinl);

b[i]=fsinCoef(i,T,lsinl);

c[i]=WalCoef(i,T,lsinl);

}

initgd("");

window2("hecheng",

-5,3,5,-3,

"x","y",BLUE,BLUE);

setlinestyle(SOLID_LINE,0,THICK_WIDTH);

plotxy2(BLUE,FouSer,&T,a,b,&N);

setlinestyle(SOLID_LINE,0,NORM_WIDTH);

plotxy2(LIGHTRED,lsinl);getch();

clearviewport();xy2(BLUE);

setlinestyle(SOLID_LINE,0,THICK_WIDTH);

plotxy2(BLUE,WalSer,&T,c,&N);

setlinestyle(SOLID_LINE,0,NORM_WIDTH);

plotxy2(LIGHTRED,lsinl);getch();

clearviewport();

window2("WC1",

-5,3,5,-3,

"x","y",BLUE,BLUE);

setlinestyle(SOLID_LINE,0,THICK_WIDTH);

plotxy2(BLUE,WC1,&T,a,b,&N);getch();

clearviewport();

window2("WC2",

-5,3,5,-3,

"x","y",BLUE,BLUE);

setlinestyle(SOLID_LINE,0,THICK_WIDTH);

plotxy2(BLUE,WC2,&T,c,&N);getch();

closegraph();

}

 

2)

#include

doublea[20],b[20],c[20],d[20],T=4;inti,N=20;

doubletrianglewave(doublet)

{doublea;

a=fmod(t,1);

if(a>0)return(a/1);

elsereturn(1+a/1);}

doubleWC1(doublet,double*T,doublea[],doubleb[],int*N)

{returntrianglewave(t)-FouSer(t,T,a,b,N);}

doubleWC2(doublet,double*T,doublec[],int*N)

{returntrianglewave(t)-WalSer(t,T,c,N);}

main()

{

for(i=0;i

{a[i]=fcosCoef(i,T,trianglewave);

b[i]=fsinCoef(i,T,trianglewave);

c[i]=WalCoef(i,T,trianglewave);}

initgd("");

window2("hecheng",

-5,3,5,-3,

"x","y",BLUE,BLUE);

setlinestyle(SOLID_LINE,0,THICK_WIDTH);

plotxy2(BLUE,FouSer,&T,a,b,&N);

setlinestyle(SOLID_LINE,0,NORM_WIDTH);

plotxy2(LIGHTRED,trianglewave);getch();

clearviewport();xy2(BLUE);

setlinestyle(SOLID_LINE,0,THICK_WIDTH);

plotxy2(BLUE,WalSer,&T,c,&N);

setlinestyle(SOLID_LINE,0,NORM_WIDTH);

plotxy2(LIGHTRED,trianglewave);getch();

clearviewport();

window2("WC1",

-5,3,5,-3,

"x","y",BLUE,BLUE);

setlinestyle(SOLID_LINE,0,THICK_WIDTH);

plotxy2(BLUE,WC1,&T,a,b,&N);getch();

clearviewport();

window2("WC2",

-5,3,5,-3,

"x","y",BLUE,BLUE);

setlinestyle(SOLID_LINE,0,THICK_WIDTH);

plotxy2(BLUE,WC2,&T,c,&N);getch();

closegraph();

}

 

3)

#include

doublea[20],b[20],c[20],d[20],Z=3;inti,N=5;

doublesquarewave(doublet)

{doublea;

a=fmod(t,3);

if(a>0)return(a<=1)?

1.0:

0.0;

elsereturn(a>(-3+1))?

0.0:

1.0;}

doubleWC1(doublet,double*Z,doublea[],doubleb[],int*N)

{returnsquarewave(t)-FouSer(t,Z,a,b,N);}

doubleWC2(doublet,double*Z,doublec[],int*N)

{returnsquarewave(t)-WalSer(t,Z,c,N);}

main()

{

for(i=0;i

{a[i]=fcosCoef(i,Z,squarewave);

b[i]=fsinCoef(i,Z,squarewave);

c[i]=WalCoef(i,Z,squarewave);}

initgd("");

window2("hecheng",

-5,3,5,-3,

"x","y",BLUE,BLUE);

setlinestyle(SOLID_LINE,0,THICK_WIDTH);

plotxy2(BLUE,FouSer,&Z,a,b,&N);

setlinestyle(SOLID_LINE,0,NORM_WIDTH);

plotxy2(LIGHTRED,squarewave);getch();

clearviewport();xy2(BLUE);

setlinestyle(SOLID_LINE,0,THICK_WIDTH);

plotxy2(BLUE,WalSer,&Z,c,&N);

setlinestyle(SOLID_LINE,0,NORM_WIDTH);

plotxy2(LIGHTRED,squarewave);getch();

clearviewport();

window2("WC1",

-5,3,5,-3,

"x","y",BLUE,BLUE);

setlinestyle(SOLID_LINE,0,THICK_WIDTH);

plotxy2(BLUE,WC1,&Z,a,b,&N);getch();

clearviewport();

window2("WC2",

-5,3,5,-3,

"x","y",BLUE,BLUE);

setlinestyle(SOLID_LINE,0,THICK_WIDTH);

plotxy2(BLUE,WC2,&Z,c,&N);getch();

closegraph();

}

实验4

1)

#include

doubletrianglewave(doublet)

{doubleu;

if(t<0)t=-1*t;

u=fmod(t,4);

if(u<1)returnu;

elsereturn4/3-u/3;}

main()

{doublea[20],b[20],c[20],A,B,x,T=4;

inti,N=20;

for(i=0;i<20;i++)

{a[i]=fcosCoef(i,T,trianglewave);

b[i]=fsinCoef(i,T,trianglewave);

c[i]=WalCoef(i,T,trianglewave);}

A=a[3];B=b[3];

initgd("");

window2("distortionanalyse(=-ESC)",

-5,3,5,-3,

"t","f",BLUE,WHITE);

/*fudushizhen:

(x+1)Acoswt+(x+1)Bsinwt

=a[3]coswt+b[3]sinwt*/

for(x=0,instKeyCtr();keyCtr(&x,0,4,20);)

{a[3]=A*(x+1);b[3]=B*(x+1);

/*clearviewport();*/

plotxy2(BLUE,FouSer,&T,a,b,&N);}

 

/*xiangweishizhen:

Acos(wt+x)+Bsin(wt+x)

=Acoswtcosx-Asinwtsinx+Bsinwtcosx+Bcoswtsinx

=(Acosx+Bsinx)coswt+(Bcosx-Asinx)sinwt

=a[3]coswt+b[3]sinwt*/

for(x=0,instKeyCtr();keyCtr(&x,0,3.14,20);)

{a[3]=A*cos(x)+B*sin(x);

b[3]=B*cos(x)-A*sin(x);

/*clearviewport();*/

plotxy2(BLUE,FouSer,&T,a,b,&N);}

 

a[3]=A;b[3]=B;

/*"feixianxingshizhen",

zhengjiaxingdepinlvfenliang**/

for(x=5,instKeyCtr();keyCtr(&x,5,10,5);)

{N=(int)x;

/*clearviewport();*/

plotxy2(BLUE,FouSer,&T,a,b,&N);}

 

/*"fudu&xiangweishizhen",

A(1+x)cos(wt+x)+B(1+x)sin(wt+x)

=(1+x)[Acoswtcosx-Asinwtsinx+Bsinwtcosx+Bcoswtsinx]

=(1+x)[(Acosx+Bsinx)coswt+(Bcosx-Asinx)sinwt]

=a[3]coswt+b[3]sinwt*/

for(x=0,instKeyCtr();keyCtr(&x,0,3.14,20);)

{a[3]=(A*cos(x)+B*sin(x))*(1+x);

b[3]=(B*cos(x)-A*sin(x))*(1+x);

/*clearviewport();*/

plotxy2(BLUE,FouSer,&T,a,b,&N);}

 

/*"fudu&pinlvshizhen"*/

a[3]=A;b[3]=B;

for(x=10,instKeyCtr();keyCtr(&x,10,20,10);)

{N=(int)x;

a[3]=A*(x+1);b[3]=B*(x+1);

/*clearviewport();*/

plotxy2(BLUE,FouSer,&T,a,b,&N);}

 

/*"xiangweipinlvshizhen"*/

a[3]=A;b[3]=B;

for(x=10,instKeyCtr();keyCtr(&x,10,20,10);)

{N=(int)x;

a[3]=A*cos(x)+B*sin(x);

b[3]=B*cos(x)-A*sin(x);

/*clearviewport();*/

plotxy2(BLUE,FouSer,&T,a,b,&N);}

 

/*"fudu&xiangwei&pinlvshizhen"*/

a[3]=A;b[3]=B;

for(x=10,instKeyCtr();keyCtr(&x,10,20,10);)

{N=(int)x;

a[3]=(A*cos(x)+B*sin(x))*(1+x);

b[3]=(B*cos(x)-A*sin(x))*(1+x);

/*clearviewport();*/

plotxy2(BLUE,FouSer,&T,a,b,&N);}

closegraph();

}

 

2)

#include

doublesquarewave(doublet)

{doublea;

a=fmod(t,3);

if(a>0)return(a<=1)?

1.0:

0.0;

elsereturn(a>(-3+1))?

0.0:

1.0;}

main()

{doublea[20],b[20],c[20],A,B,x,T=4;

inti,N=5;

for(i=0;i<20;i++)

{a[i]=fcosCoef(i,T,squarewave);

b[i]=fsinCoef(i,T,squarewave);

c[i]=WalCoef(i,T,squarewave);}

A=a[3];B=b[3];

initgd("");

window2("distortionanalyse(=-ESC)",

-5,3,5,-3,

"t","f",BLUE,WHITE);

/*:

(x+1)Acoswt+(x+1)Bsinwt

=a[3]coswt+b[3]sinwt*/

for(x=0,instKeyCtr();keyCtr(&x,0,4,20);)

{a[3]=A*(x+1);b[3]=B*(x+1);

/*clearviewport();*/

plotxy2(BLUE,FouSer,&T,a,b,&N);}

 

/*:

Acos(wt+x)+Bsin(wt+x)

=Acoswtcosx-Asinwtsinx+Bsinwtcosx+Bcoswtsinx

=(Acosx+Bsinx)coswt+(Bcosx-Asinx)sinwt

=a[3]coswt+b[3]sinwt*/

for(x=0,instKeyCtr();keyCtr(&x,0,3.14,20);)

{a[3]=A*cos(x)+B*sin(x);

b[3]=B*cos(x)-A*sin(x);

/*clearviewport();*/

plotxy2(BLUE,FouSer,&T,a,b,&N);}

 

a[3]=A;b[3]=B;

/*"feixianxingshizhen",

zhengjiaxingdepinlvfenliang**/

for(x=5,instKeyCtr();keyCtr(&x,5,10,5);)

{N=(int)x;

/*clearviewport();*/

plotxy2(BLUE,FouSer,&T,a,b,&N);}

 

/*"fudu&xiangweishizhen",

A(1+x)cos(wt+x)+B(1+x)sin(wt+x)

=(1+x)[Acoswtcosx-Asinwtsinx+Bsinwtcosx+Bcoswtsinx]

=(1+x)[(Acosx+Bsinx)coswt+(Bcosx-Asinx)sinwt]

=a[3]coswt+b[3]sinwt*/

for(x=0,instKeyCtr();keyCtr(&x,0,3.14,20);)

{a[3]=(A*cos(x)+B*sin(x))*(1+x);

b[3]=(B*cos(x)-A*sin(x))*(1+x);

/*clearviewport();*/

plotxy2(BLUE,FouSer,&T,a,b,&N);}

 

/*"fudu&pinlvshizhen"*/

a[3]=A;b[3]=B;

for(x=10,instKeyCtr();keyCtr(&x,10,20,10);)

{N=(int)x;

a[3]=A*(x+1);b[3]=B*(x+1);

/*clearviewport();*/

plotxy2(BLUE,FouSer,&T,a,b,&N);}

 

/*"xiangweipinlvshizhen"*/

a[3]=A;b[3]=B;

for(x=10,instKeyCtr();keyCtr(&x,10,20,10);)

{N=(int)x;

a[3]=A*cos(x)+B*sin(x);

b[3]=B*cos(x)-A*sin(x);

/*clearviewport();*/

plotxy2(BLUE,FouSer,&T,a,b,&N);}

 

/*"fudu&xiangwei&pinlvshizhen"*/

a[3]=A;b[3]=B;

for(x=10,instKeyCtr();keyCtr(&x,10,20,10);)

{N=(int)x;

a[3]=(A*cos(x)+B*sin(x))*(1+x);

b[3]=(B*cos(x)-A*sin(x))*(1+x);

/*clearviewport();*/

plotxy2(BLUE,FouSer,&T,a,b,&N);}

 

closegraph();

}

 

3)

#include

doubletrianglewave(doublet)

{doubleu;

if(t<0)t=-1*t;

u=fmod(t,4);

if(u<1)returnu;

elsereturn4/3-u/3;}

doublesquarewave(doublet)

{doublea;

a=fmod(t,3);

if(a>0)return(a<=1)?

1.0:

0.0;

elsereturn(a>(-3+1))?

0.0:

1.0;}

doublezuhe(doublet)

{

return2*trianglewave(t)+squarewave(t);

}

main()

{doublea[20],b[20],c[20],A,B,x,T=3;

inti,N=5;

for(i=0;i<20;i++)

{a[i]=fcosCoef(i,T,zuhe);

b[i]=fsinCoef(i,T,zuhe);

c[i]=WalCoef(i,T,zuhe);}

A=a[3];B

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1