资源描述:
《课程设计---matlab在数据处理中的应用》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、数学软件应用系统课程设计报告设计题目:MATLAB在数据处理中的应用13课程设计任务书专业:数学与应用数学班级:应数092课程名称:数学软件应用系统课程设计学生姓名:发题时间:2011年4月22日一、课题名称MATLAB在数据处理中的应用二、课题条件参考文献:柏宏斌等.数学实验.成都:四川大学出版社,2005.6徐瑞等.MATLAB2007科学计算与工程分析.北京:科学出版社,2008安排10学时上机,指导老师到场指导网上和图书馆检索文献。三、设计任务1.应用matlab进行数据的拟合分析2.在实际中的应用3.掌握MATLAB及其相关功能的运用四、设计说明书(或论文)内容问
2、题描述、具体理论知识点、具体实例、程序清单、程序实现、参考文献、总结、小组成员分工合作清单。五、进度计划(列出完成项目设计内容、绘图等具体起始日期)4月28日图书馆查资料,4月29日上机4节,查资料并整理出基础理论与实例;5月6日上机4节,编程并上机实现;5月10日完成报告并上缴电子文档.指导教师(签名):年月日教研室主任(签名):年月日13数学系课程设计综合成绩评定表课程名称数学软件应用系统课程设计设计题目MATLAB在数据处理中的应用指导教师评语指导教师签字:年月日设计报告成绩综合评定项目等级1、计算和绘图能力2、综合运用专业知识能力3、运用计算机能力和外语能力4、查阅
3、资料、运用工具书的能力5、独立完成设计能力6、书写情况(文字能力、整洁度)7、表述能力(逻辑性、条理性)学生姓名学生班级平时考核成绩设计考核成绩综合成绩侯亮指导教师签名:教研室主任签名:年月日年月13MATLAB软件提供了基本的曲线拟合函数的命令.1多项式函数拟合:a=polyfit(xdata,ydata,n)其中n表示多项式的最高阶数,xdata,ydata为将要拟合的数据,它是用数组的方式输入.输出参数a为拟合多项式的系数多项式在x处的值y可用下面程序计算.y=polyval(a,x)2一般的曲线拟合:p=curvefit(‘Fun’,p0,xdata,ydata)其
4、中Fun表示函数Fun(p,data)的M函数文件,p0表示函数的初值.curvefit()命令的求解问题形式是若要求解点x处的函数值可用程序f=Fun(p,x)计算.例如已知函数形式,并且已知数据点要确定四个未知参数a,b,c,d.使用curvefit命令,数据输入;初值输;并且建立函数的M文件(Fun.m).若定义,则输出又如引例的求解,MATLAB程序:t=[l:16]; %数据输人y=[4 6.4 8 8.4 9.28 9.5 9.7 9.86 10.2 10.32 10.42 10.5 10.55 10.58 10.6];13plot(t,y,‘o’) %画散点
5、图p=polyfit(t,y,2) (二次多项式拟合)计算结果:p=-0.0445 1.0711 4.3252 %二次多项式的系数由此得到某化合物的浓度y与时间t的拟合函数。例1已知观测数据点如表程序如下:x00.10.20.3.40.50.60.70.80.91y-0.4471.9783.286.167.087.347.669.569.489.311.2分别用3次和6次多项式曲线拟合这些数据点。编写matlab程序如下:x=0:0.1:1y=[-0.447,1.978,3.28,6.16,7.08,7.34,7.66,9.56,9.48,9.3,11.2]plot(
6、x,y,'k','markersize',25)axis([01.3-216])p3=polyfit(x,y,3)p6=polyfit(x,y,6)x=0:0.1:1y=[-0.447,1.978,3.28,6.16,7.08,7.34,7.66,9.56,9.48,9.3,11.2]plot(x,y,'k','markersize',25)axis([01.3-216])p3=polyfit(x,y,3)p6=polyfit(x,y,6)t=0:0.1:0.2s=polyval(p3,t)s1=polyval(p6,t)holdonpolt(t,s,'r-','linew
7、idth',2)polt(t,s,'b--','linewidth',2)13grid例2用二次多项式拟合下列数据。x0.10.20.150.0-0.20.3y0.950.840.861.061.500.72编写matlab程序如下:x=[0.1,0.2,0.15,0,-0.2,0.3];y=[0.95,0.84,0.86,1.06,1.50,0.72];p=polyfit(x,y,2)xi=-0.2:0.01:0.3;yi=polyval(p,xi);plot(x,y,'o',xi,yi,'k');title('