




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、. .14/15 目 录 TOC o 1-2 h z HYPERLINK l _Toc229659825目录 PAGEREF _Toc229659825 h 11.HYPERLINK l _Toc229659832傅里叶级数2HYPERLINK l _Toc2296598332.数学模型2HYPERLINK l _Toc2296598342.1理论分析2HYPERLINK l _Toc2296598352.2实例分析2HYPERLINK l _Toc2296598363.程序探究34.算法设计4HYPERLINK l _Toc2296598415.程序设计46.图形HYPERLINK l _T
2、oc229659841界面设计66.1HYPERLINK l _Toc229659841 界面设计66.2 主程序代码HYPERLINK l _Toc2296598416HYPERLINK l _Toc2296598427测试数据与结果118.HYPERLINK l _Toc229659842改进之处12HYPERLINK l _Toc2296598429.总结12HYPERLINK l _Toc229659846参考文献14关于傅里叶级数的课程设计一傅里叶级数 1804年,傅里叶提出“在有限区间上由任意图形定义的任意函数可以表示为单纯的正弦和余弦函数之和”。傅氏级数的展开被称为最辉煌大胆的猜
3、想。从分析的角度来看,一些复杂的周期现象用无限多个正弦函数余弦函数叠加来表示。从物理意义上讲,信号可以分解成为一系列的简谐波的复合,并可借由此来分析信号波的一些基本特征。此次课程设计的主要目的是用动画演示来说明当项数逐渐增大时,函数傅里叶级数的图像逐渐逼近原函数。 二. 数学模型 = 1 * GB3 * MERGEFORMAT 理论分析 数学上定义:若函数f(x)在区间-,可积,则称 (n=0,1,2,.), (n=0,1,2,3,.)是函数f(x)的傅里叶系数。以函数的傅里叶为级数的三角级数当讨论到级数,不容忽视的是其部分和表示的是其前2n+1项的和。若x是函数f(x)的第一类间断点,则函数
4、f(x)的傅里叶级数收敛于函数f(x)在点x的左、右极限平均值,即,若x为连续点,则,则函数f(x)的傅里叶级数收敛于f(x)。 = 2 * GB3 * MERGEFORMAT 实例分析将函数 展成傅里叶级数。可求得于是有三.程序探究对于这个特例函数展开成傅里叶级数,我首先想到的是作图表现其趋近程度。然而通过数学计算,可以得到这个函数的傅里叶级数展开形式,所以,没有通过计算机来算其傅里叶展开系数,直接用已知的函数g(x)进行绘图。程序如下:function FULIYE(hedit,hlist)n=str2num(get(hedit,String);%获取编辑框字符并转化为数字n1=get(h
5、list,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)hold onplot(0,-4,-1,-1,colmat(n1)for i=1:1:n y=sin(2*i-1)*x)/(2*i-1); g=g+(4/pi)*y; plot(x,g,colmat(1+mod(i,3) pause(1)end hold off 四.算法设计现在由特例的函数向一般化转换,当然问题只能一步一步来,先在-pi,0和0,pi分别输入函数(向量形式),然后使
6、用积分函数,算出a0,即初始化S,然后进入循环,不断重复积分算出a(i),b(i),可由其构造出关于S的表达式,再将x从-pi,pi的函数用图画出。第1步 获取由用户输入的向量形式的函数,转化成在线函数。同时获取用户输入的项数n第2步 将x符号化,并用int函数积分算出s,即对s的初始化。第3步 对于i=1,2,3,.n,反复做以下操作 = 1 * GB2 * MERGEFORMAT 将函数积分算得a(i)和b(i) = 2 * GB2 * MERGEFORMAT 令x从-pi到pi,计算s的值,并将s转化为数值形式 = 3 * GB2 * MERGEFORMAT 作图画出s的图像,并将图形保
7、持 = 4 * GB2 * MERGEFORMAT 再将x符号化,以便再次积分 = 5 * GB2 * MERGEFORMAT 每次画图需暂停来观察效果第4步 循环结束五程序设计 这里将原函数和级数展开的函数分开,避免其中的语句相互影响,也使程序更加简明清晰。 = 1 * GB4 * MERGEFORMAT 原函数作图的函数 function ORIGIN(hlist,hedit1,hedit2)n1=get(hlist,Value);%获取列表框选项序号colmat=g,r,y,k;%创建列表框取值的字符向量axis(-4,4,-2,2)x=-pi:0.005:0;y1=inline(get
8、(hedit1,String);g1=y1(x);plot(x,g1,colmat(n1)x=0:0.005:pi;y2=inline(get(hedit2,String);g2=y2(x);hold onplot(x,g2,colmat(n1) = 2 * GB4 * MERGEFORMAT 级数作图的函数 function FULIYE3(hedit,hlist,hedit1,hedit2)n=str2num(get(hedit,String);%获取编辑框字符并转化为数字n1=get(hlist,Value);%获取列表框选项序号colmat=g,r,y,k;%创建列表框取值的字符向量f
9、1=inline(get(hedit1,String);%获取被积函数f2=inline(get(hedit2,String);%获取被积函数syms xs=(1/pi)*(int(sym(f1),x,-pi,0)+int(sym(f2),x,0,pi)/2;for i=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;
10、 s=eval(s+a(i)*cos(i*x)+b(i)*sin(i*x); plot(x,s,colmat(1+mod(i,3) hold on syms x%要将其符号化,方便循环中下次积分计算 pause(1)end六用图形界面设计傅里叶级数应用程序1.界面设计设计如下图所示的图形界面:创建绘图区的坐标系;创建输入项数的组合框,它包含1个关于“输入项数”文本框,1个关于显示用户输入的项数的编辑框;创建输入函数的组合框,它包含2个关于“输入区间”的文本框,2个关于显示用户输入函数的编辑框;创建一个关于绘图颜色的组合框,它包含1个关于“选择绘图颜色”的文本框,1个关于4种颜色的列表框。2个按
11、钮分别控制原函数和级数的绘图,1个关闭按钮。主程序代码 %创建可调窗体h0=figure(Menubar,none,NumberTitle,off,Name,傅里叶级数,. 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,. Pos
12、ition,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);%创建输入函数的组合框
13、uicontrol(Parent,h0,Style,frame,Units,normalized,. Position,360/700,220/400,300/700,170/400);htext1=uicontrol(Parent,h0,Style,text,Units,normalized,. Position,380/700,355/400,120/700,25/400,String,-pi,0上函数为(向量),. Horizontal,center,FontSize,10);htext2=uicontrol(Parent,h0,Style,text,Units,normalized,.
14、 Position,380/700,325/400,120/700,25/400,String,0,pi上函数为(向量),FontSize,10);htext3=uicontrol(Parent,h0,Style,text,Units,normalized,. Position,380/700,265/400,120/700,25/400,String,函数区间为,FontSize,10);htext4=uicontrol(Parent,h0,Style,text,Units,normalized,. Position,380/700,235/400,120/700,25/400,String
15、,函数表达式为,FontSize,10);hedit1=uicontrol(Parent,h0,Style,edit,Units,normalized,.Position,520/700,355/400,100/700,25/400,String,FontSize,10);hedit2=uicontrol(Parent,h0,Style,edit,Units,normalized,.Position,520/700,325/400,100/700,25/400,String,FontSize,10);hedit3=uicontrol(Parent,h0,Style,edit,Units,nor
16、malized,.Position,520/700,265/400,100/700,25/400,String,FontSize,10);hedit4=uicontrol(Parent,h0,Style,edit,Units,normalized,.Position,520/700,235/400,100/700,25/400,String,FontSize,10);%创建填充颜色列表的组合框uicontrol(Parent,h0,Style,frame,Units,normalized,. Position,360/700,100/400,200/700,100/400);uicontrol
17、(Parent,h0,Style,text,Units,normalized,. Position,365/700,150/400,180/700,40/400,String,选择原函数的绘图颜色,. Horizontal,center,FontSize,10);hlist=uicontrol(Parent,h0,Style,popup,Units,normalized,. Position,370/700,120/400,180/700,40/400,. String,绿色|红色|黄色|黑色,FontSize,10);%创建绘图与关闭按钮hpush1=uicontrol(Parent,h0,
18、Style,push,Units,normalized,. Position,580/700,100/400,100/700,40/400,String,级数绘图,.FontSize,10,CallBack,FULIYE3(hedit,hlist,hedit1,hedit2);hpush2=uicontrol(Parent,h0,Style,push,Units,normalized,. Position,580/700,160/400,100/700,40/400,String,原函数绘图,. FontSize,10,CallBack,ORIGIN(hlist,hedit1,hedit2);
19、hpush3=uicontrol(Parent,h0,Style,push,Units,normalized,. Position,480/700,30/400,100/700,40/400,String,关闭,. FontSize,10,CallBack,close(h0);需被调用的函数ORIGIN.m需被存放在MATLAB的work目录下。该函数的代码如下:%原函数作图程序function ORIGIN(hlist,hedit1,hedit2)n1=get(hlist,Value);%获取列表框选项序号colmat=g,r,y,k;%创建列表框取值的字符向量axis(-4,4,-2,2)
20、x=-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);hold onplot(x,g2,colmat(n1) 需被调用的函数FULIYE3.m需被存放在MATLAB的work目录下。该函数的代码如下:%级数作图程序function FULIYE3(hedit,hlist,hedit1,hedit2)n=str2num(get(hedit,String);%获取编辑框字符并转化为数字n1=get(hlist
21、,Value);%获取列表框选项序号colmat=g,r,y,k;%创建列表框取值的字符向量f1=inline(get(hedit1,String);%获取被积函数f2=inline(get(hedit2,String);%获取被积函数syms xs=(1/pi)*(int(sym(f1),x,-pi,0)+int(sym(f2),x,0,pi)/2;for i=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
22、,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) hold on syms x pause(1)end测试在-pi,0和0,pi区间键入“x.2”,在输入项数中输入“8”,点击按钮“原函数绘图”与“级数绘图”,得出如下结果:八需改进的地方虽然从特定的函数绘图进而到由用户任意给出特定-pi,pi区间可积的函数绘图,这是很大的一个进步,但文中所述傅里叶级数的展开函数仍然具有一定的局限性,若任意区间的周期函数的又该如何绘制其
23、图像呢?在程序的图形界面中已给出这样的两个编辑框,用来输入任意的区间与在此区间上的函数表达式。但是关于此的函数还没给出,这需要编者进一步的探究和完善。九总结以前一直跟着老师学习MATLAB,无非更多的是跟着老师的思路走,跟着敲代码。然而老师有多年的教学经验再加上课程时间的限制,从而避免了程序设计中的很多弯路,事实上这些曲曲折折正是我们所迫切需要的。所学的程序虽然表面上看着懂了,实际给一白纸你却不知从何下手。这就说明并不是真正领会了程序的精华所在,当你真正听明白的时候,是你能将这些东西吸收转化再以自己的形式表现出来。对于这方面,我很缺乏实际的动手操作,此次的课程设计给了我一次心理和能力的锻炼机会。心理上来说,自己平时没怎么动手练,有很大的担心是自己不能完成一篇有质量的课程设计,开始的选题也是纠结了一段时间。有想过就按照老师的汽车加油类似的完成一篇解决实际生活问题的课程设计,但终究觉得缺乏一定的挑战性。在复习复变函数与积分变换的当口,我发现的傅里叶级数的重要实际应用意义,于是就开启了信誓旦旦的探究旅程。初期的时候只是把数分书上的一个特定的傅里叶级数展开进行了作图,成功之后就顿然觉得若只是这样的话程序有很大的局限性永远只能展开表示这一个特定的函。通过老师的指点,我拓宽了下思路,先尝试一下-pi,pi的函数级数展开。程序基本形成后,发现所使用的积分函数一直有问题,我对照了之前老
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年工程项目管理行业规范试题及答案
- 农场生产物资供应协议
- 工程项目管理经验反馈试题及答案
- 综合复习2025年工程经济试题及答案
- 变压器购买合同书
- 2025年项目融资方案试题及答案
- 绿色仓储实践与未来发展计划
- 产品生命周期管理的年度设计计划
- 2025年项目管理考试通知解读试题及答案
- 2025年工程项目管理多方合作试题及答案
- 2024年延安通和电业有限责任公司招聘考试真题
- 2024年新人教版英语三年级上册 U6 A learn 教学课件
- 美发店入职合同保密协议
- 2025-2030年中国肿瘤医院行业市场发展现状分析及未来趋势预测研究报告
- 茶廉文化课件
- 2024年中南大学专职辅导员招聘笔试真题
- 2025甘肃省农垦集团有限责任公司招聘生产技术人员145人笔试参考题库附带答案详解
- 2025-2030中国财务公司行业深度分析及发展前景与发展战略研究报告
- 2025年人教版小学五年级下册奥林匹克数学竞赛测试题(附参考答案)
- 不分手协议书合同书
- 室内空间设计方案汇报
评论
0/150
提交评论