您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 关于傅里叶级数的课程设计
1目录目录.........................................................................................................11.傅里叶级数......................................................................................................22.数学模型...............................................................................................22.1理论分析.......................................................................................................22.2实例分析.......................................................................................................23.程序探究...............................................................................................34.算法设计..........................................................................................................45.程序设计...............................................................................................46.图形界面设计.........................................................................................66.1界面设计..........................................................................................66.2主程序代码.......................................................................................67测试数据及结果...................................................................................118.改进之处.............................................................................................129.总结....................................................................................................12参考文献................................................................................................142关于傅里叶级数的课程设计一.傅里叶级数1804年,傅里叶提出“在有限区间上由任意图形定义的任意函数可以表示为单纯的正弦和余弦函数之和”。傅氏级数的展开被称为最辉煌大胆的猜想。从分析的角度来看,一些复杂的周期现象用无限多个正弦函数余弦函数叠加来表示。从物理意义上讲,信号可以分解成为一系列的简谐波的复合,并可借由此来分析信号波的一些基本特征。此次课程设计的主要目的是用动画演示来说明当项数逐渐增大时,函数傅里叶级数的图像逐渐逼近原函数。二.数学模型①理论分析数学上定义:若函数f(x)在区间[-π,π]可积,则称nxdxxfancos)(1(n=0,1,2,...),nxdxxfbnsin)(1(n=0,1,2,3,...)是函数f(x)的傅里叶系数。以函数的傅里叶为级数的三角级数的傅里叶级数称为函数f(x))sincos(210nxbnxaannn当讨论到级数,不容忽视的是其部分和)sincos(2)(10kxbkxaaxSknkkn表示的是其前2n+1项的和。若x是函数f(x)的第一类间断点,则函数f(x)的傅里叶级数收敛于函数f(x)在点x的左、右极限平均值,即)sincos(2)]0()0([2110nxbnxaaxfxfnnn,若x为连续点,则)()0()0(xfxfxf,则函数f(x)的傅里叶级数收敛于f(x)。②实例分析将函数xxxg0,1,01)(展成傅里叶级数。3可求得是奇数,是偶数nnnxdxxgbaann,n4,0sin)(2,0,000于是有.||0,12)12sin(4)(.||0,)55sin33sin1sin(4)(1xnxnxgxxxxxgnk即三.程序探究对于这个特例函数展开成傅里叶级数,我首先想到的是作图表现其趋近程度。然而通过数学计算,可以得到这个函数的傅里叶级数展开形式,所以,没有通过计算机来算其傅里叶展开系数,直接用已知的函数g(x)进行绘图。程序如下:functionFULIYE(hedit,hlist)n=str2num(get(hedit,'String'));%获取编辑框字符并转化为数字n1=get(hlist,'Value');%获取列表框选项序号colmat=['g','r','y','k'];%创建列表框取值的字符向量axis([-4,4,-2,2])x=-pi:0.005:pi;g=0;plot([0,4],[1,1],colmat(n1))holdonplot([0,-4],[-1,-1],colmat(n1))fori=1:1:ny=sin((2*i-1)*x)/(2*i-1);g=g+(4/pi)*y;plot(x,g,colmat(1+mod(i,3)))pause(1)4endholdoff四.算法设计现在由特例的函数向一般化转换,当然问题只能一步一步来,先在[-pi,0]和[0,pi]分别输入函数(向量形式),然后使用积分函数,算出a0,即初始化S,然后进入循环,不断重复积分算出a(i),b(i),可由其构造出关于S的表达式,再将x从[-pi,pi]的函数用图画出。第1步获取由用户输入的向量形式的函数,转化成在线函数。同时获取用户输入的项数n第2步将x符号化,并用int函数积分算出s,即对s的初始化。第3步对于i=1,2,3,...n,反复做以下操作⑴将函数积分算得a(i)和b(i)⑵令x从-pi到pi,计算s的值,并将s转化为数值形式⑶作图画出s的图像,并将图形保持⑷再将x符号化,以便再次积分⑸每次画图需暂停来观察效果第4步循环结束五.程序设计这里将原函数和级数展开的函数分开,避免其中的语句相互影响,也使程序更加简明清晰。㈠原函数作图的函数functionORIGIN(hlist,hedit1,hedit2)n1=get(hlist,'Value');%获取列表框选项序号colmat=['g','r','y','k'];%创建列表框取值的字符向量axis([-4,4,-2,2])5x=-pi:0.005:0;y1=inline(get(hedit1,'String'));g1=y1(x);plot(x,g1,colmat(n1))x=0:0.005:pi;y2=inline(get(hedit2,'String'));g2=y2(x);holdonplot(x,g2,colmat(n1))㈡级数作图的函数functionFULIYE3(hedit,hlist,hedit1,hedit2)n=str2num(get(hedit,'String'));%获取编辑框字符并转化为数字n1=get(hlist,'Value');%获取列表框选项序号colmat=['g','r','y','k'];%创建列表框取值的字符向量f1=inline(get(hedit1,'String'));%获取被积函数f2=inline(get(hedit2,'String'));%获取被积函数symsxs=(1/pi)*(int(sym(f1),x,-pi,0)+int(sym(f2),x,0,pi))/2;fori=1:1:na(i)=(1/pi)*(int(sym(f1)*cos(i*x),x,-pi,0)+int(sym(f2)*cos(i*x),x,0,pi));b(i)=(1/pi)*(int(sym(f1)*sin(i*x),x,-pi,0)+int(sym(f2)*sin(i*x),x,0,pi));x=-pi:0.05:pi;s=eval(s+a(i)*cos(i*x)+b(i)*sin(i*x));plot(x,s,colmat(1+mod(i,3)))holdon6symsx%要将其符号化,方便循环中下次积分计算pause(1)end六.用图形界面设计傅里叶级数应用程序1.界面设计设计如下图所示的图形界面:创建绘图区的坐标系;创建输入项数的组合框,它包含1个关于“输入项数”文本框,1个关于显示用户输入的项数的编辑框;创建输入函数的组合框,它包含2个关于“输入区间”的文本框,2个关于显示用户输入函数的编辑框;创建一个关于绘图颜色的组合框,它包含1个关于“选择绘图颜色”的文本框,1个关于4种颜色的列表框。2个按钮分别控制原函数和级数的绘图,1个关闭按钮。2.主程序代码%创建可调窗体h0=figure('Menubar','none','NumberTitle','off','Name','傅里叶级数7',...'Units','normalized','Position',[300/1366,200/768,700/1366,400/768]);%设置绘图区的坐标系haxs=axes('Parent',h0,'Units','normalized','Position',[25/700,25/400,300/700,300/400]);%创建输入项数的组合框uicontrol('Parent',h0,'Style','frame','Units','normalized',...'Position',[25/700,345/400,300/700,45/400]);uicontrol('Parent',h0,'Style','text','Units','normalized',...'Position',[35/700,350/400,100/700,25/400],'String','输入项数',...'Horizontal','center','FontSize',10);hedit=uicontrol('Parent',h0,'Style','edit','Units','normalized',...'Position',[145/700,355/400,150/700,25/400],'String','3','FontSize',10);%创建输入函数的组合框uicontrol('Parent',h0,'Style','frame','Units','normalized',...'Position',[360/700,220/400,3
本文标题:关于傅里叶级数的课程设计
链接地址:https://www.777doc.com/doc-3286372 .html