ImageVerifierCode 换一换
格式:DOCX , 页数:10 ,大小:104.99KB ,
资源ID:8643202      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-8643202.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(关于傅里叶级数的课程设计Word文档下载推荐.docx)为本站会员(b****6)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

关于傅里叶级数的课程设计Word文档下载推荐.docx

1、 展成傅里叶级数。可求得于是有三.程序探究对于这个特例函数展开成傅里叶级数,我首先想到的是作图表现其趋近程度。然而经过数学计算,能够得到这个函数的傅里叶级数展开形式,因此,没有经过计算机来算其傅里叶展开系数,直接用已知的函数g(x)进行绘图。程序如下:function FULIYE(hedit,hlist)n=str2num(get(hedit,String);%获取编辑框字符并转化为数字n1=get(hlist,Value);%获取列表框选项序号colmat=g,ryk;%创立列表框取值的字符向量axis(-4,4,-2,2)x=-pi:0.005:pi;g=0;plot(0,4,1,1,c

2、olmat(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分别输入函数(向量形式),然后使用积分函数,算出a0,即初始化S,然后进入循环,不断重复积分算出a(i),b(i),可由其构造出关于S的表示式,再将x从-pi,pi的函数用图画出。第1步 获取由用户输入的向量形式的函数,转化成在

3、线函数。同时获取用户输入的项数n第2步 将x符号化,并用int函数积分算出s,即对s的初始化。第3步 对于i=1,2,3,.n,重复做以下操作 将函数积分算得a(i)和b(i) 令x从-pi到pi,计算s的值,并将s转化为数值形式 作图画出s的图像,并将图形保持 再将x符号化,以便再次积分 每次画图需暂停来观察效果第4步 循环结束五程序设计 这里将原函数和级数展开的函数分开,避免其中的语句相互影响,也使程序更加简明清晰。原函数作图的函数 function ORIGIN(hlist,hedit1,hedit2)0;y1=inline(get(hedit1,g1=y1(x);plot(x,g1,c

4、olmat(n1)x=0:y2=inline(get(hedit2,g2=y2(x);plot(x,g2,colmat(n1)级数作图的函数 function FULIYE3(hedit,hlist,hedit1,hedit2)f1=inline(get(hedit1,%获取被积函数f2=inline(get(hedit2,syms xs=(1/pi)*(int(sym(f1),x,-pi,0)+int(sym(f2),x,0,pi)/2;a(i)=(1/pi)*(int(sym(f1)*cos(i*x),x,-pi,0)+int(sym(f2)*cos(i*x),x,0,pi);b(i)=(

5、1/pi)*(int(sym(f1)*sin(i*x),x,-pi,0)+int(sym(f2)*sin(i*x),x,0,pi); x=-pi:0.05: 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%要将其符号化,方便循环中下次积分计算六用图形界面设计傅里叶级数应用程序1.界面设计设计如下图所示的图形界面:创立绘图区的坐标系;创立输入项数的组合框,它包含1个关于“输入项数”文本框,1个关于显示用户输入的项数的编辑框;创立输入函数的组合框,它包含2个关于“输入区间”的文本框,2个

6、关于显示用户输入函数的编辑框;创立一个关于绘图颜色的组合框,它包含1个关于“选择绘图颜色”的文本框,1个关于4种颜色的列表框。2个按钮分别控制原函数和级数的绘图,1个关闭按钮。2.主程序代码 %创立可调窗体h0=figure(MenubarnoneNumberTitleoffName傅里叶级数,. UnitsnormalizedPosition,300/1366,200/768,700/1366,400/768);%设置绘图区的坐标系haxs=axes(Parent,h0,25/700,25/400,300/700,300/400);%创立输入项数的组合框uicontrol(Stylefram

7、e,. ,25/700,345/400,300/700,45/400);text,35/700,350/400,100/700,25/400,输入项数HorizontalcenterFontSize,10);hedit=uicontrol(edit,145/700,355/400,150/700,25/400,3%创立输入函数的组合框,360/700,220/400,300/700,170/400);htext1=uicontrol(,380/700,355/400,120/700,25/400,-pi,0上函数为(向量)htext2=uicontrol(,380/700,325/400,12

8、0/700,25/400,0,pi上函数为(向量)htext3=uicontrol(,380/700,265/400,120/700,25/400,函数区间为htext4=uicontrol(,380/700,235/400,120/700,25/400,函数表示式为hedit1=uicontrol(,520/700,355/400,100/700,25/400,hedit2=uicontrol(,520/700,325/400,100/700,25/400,hedit3=uicontrol(,520/700,265/400,100/700,25/400,hedit4=uicontrol(,5

9、20/700,235/400,100/700,25/400,%创立填充颜色列表的组合框,360/700,100/400,200/700,100/400);,365/700,150/400,180/700,40/400,选择原函数的绘图颜色hlist=uicontrol(popup,370/700,120/400,180/700,40/400,.绿色|红色|黄色|黑色%创立绘图与关闭按钮hpush1=uicontrol(push,580/700,100/400,100/700,40/400,级数绘图,10,CallBackFULIYE3(hedit,hlist,hedit1,hedit2)hpu

10、sh2=uicontrol(,580/700,160/400,100/700,40/400,原函数绘图ORIGIN(hlist,hedit1,hedit2)hpush3=uicontrol(,480/700,30/400,100/700,40/400,关闭close(h0)需被调用的函数ORIGIN.m需被存放在MATLAB的work目录下。该函数的代码如下:%原函数作图程序function ORIGIN(hlist,hedit1,hedit2) 需被调用的函数FULIYE3.m需被存放在MATLAB的work目录下。%级数作图程序function FULIYE3(hedit,hlist,he

11、dit1,hedit2) b(i)=(1/pi)*(int(sym(f1)*sin(i*x),x,-pi,0)+int(sym(f2)*sin(i*x),x,0,pi); syms x7测试在-pi,0和0,pi区间键入“x.2”,在输入项数中输入“8”,点击按钮“原函数绘图”及“级数绘图”,得出如下结果:八需改进的地方虽然从特定的函数绘图进而到由用户任意给出特定-pi,pi区间可积的函数绘图,这是很大的一个进步,但文中所述傅里叶级数的展开函数依然具有一定的局限性,若任意区间的周期函数的又该如何绘制其图像呢?在程序的图形界面中已给出这样的两个编辑框,用来输入任意的区间及在此区间上的函数表示式。

12、可是关于此的函数还没给出,这需要编者进一步的探究和完善。九总结以前一直跟着老师学习MATLAB,无非更多的是跟着老师的思路走,跟着敲代码。然而老师有多年的教学经验再加上课程时间的限制,从而避免了程序设计中的很多弯路,事实上这些曲曲折折正是我们所迫切需要的。所学的程序虽然表面上看着懂了,实际给一张白纸你却不知从何下手。这就说明并不是真正领会了程序的精华所在,当你真正听明白的时候,是你能将这些东西吸收转化再以自己的形式表现出来。对于这方面,我很缺乏实际的动手操作,此次的课程设计给了我一次心理和能力的锻炼机会。心理上来说,自己平时没怎么动手练,有很大的担心是自己不能完成一篇有质量的课程设计,开始的选

13、题也是纠结了一段时间。有想过就按照老师的汽车加油类似的完成一篇解决实际生活问题的课程设计,但终究觉得缺乏一定的挑战性。在复习复变函数与积分变换的当口,我发现的傅里叶级数的重要实际应用意义,于是就开启了信誓旦旦的探究旅程。初期的时候只是把数分书上的一个特定的傅里叶级数展开进行了作图,成功之后就顿然觉得若只是这样的话程序有很大的局限性永远只能展开表示这一个特定的函。经过老师的指点,我拓宽了下思路,先尝试一下-pi,pi的函数级数展开。程序基本形成后,发现所使用的积分函数一直有问题,我对照了之前老师所写的矩形积分的程序仍未果。最后终于在同学耐心帮助下不停的尝试,最终程序运行正确。虽然程序设计是很有难

14、度的,但其中翻阅参考书籍和冥思苦想以及最后团队协作的乐趣都是一次难得的亲身体会。能力提高上来说,此次我的确从新学到了很多细小的知识。1. 关于可视化的设计中,为了加入一般化的概念,就需增加文本框和编辑框,所有的窗口需重新调整,把颜色的列表框改成弹出框会更节省空间。2. 在进行级数绘图的时候,我加了一个颜色的数组使得每次绘图的颜色都会有所变化3. 增加一些东西的时候,所有的东西都要重新调试,在单单的函数中不能直接运行程序,因为一些变量都是从主程序中获取的,否则显示无定义。在函数的窗口改动需及时点保存。4. 因为是分段函数,其作图的顺序需谨慎,因为要作两个图,在进行参照比较,故分开用按钮来调用两个

15、作图函数,能够避免代码之间相互影响。5. 期间删改较多指出就是积分和作图部分,积分时所要求的都是字符型,因此要用sym来转化,可是到后面作图,x给出作图区间后就自动被数值化了,级数和s需放在此语句后面(需注意语句的顺序问题),再将x转化成字符型以便在下一次循环中进行积分运算。6. 不断尝试过程中了解到int与quad的不同之处。(quad的一些实现还是未完全懂得)。 int的积分能够是定积分(经过数值积分来进行)也能够是不定积分(经过解析的方法来得出),而quad是数值积分(经过simpson数值积分,用小梯形的面积求和的到),不能算不定积分。8.级数画图是不断累积画图的过程,若项数大到一定程度时,则不能更好的观察趋近程度。在老师的建议下用删除的方法,只显示项数最大时的和式的图像。还需注意的是最后一项要保留不能删掉。 参考文献1 刘玉琏,傅沛仁,林玎,范德馨,刘宁.数学分析讲义下册M高等教育出版社2 江世宏.Matlab语言(第一分册)3 周品,何正风,Matlab数值分析M机械工业出版社 11月第一版

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2