您的当前位置:首页正文

基于Matlab的最小二乘曲线拟合在大学物理实验中的应用

来源:爱够旅游网
Journal of Southwest University for Nationalities⋅Natural Science Edition ___________________________________________________________________

文章编号: 1003-2843(2010)09专-0016-03

第36卷9月专辑

西南民族大学学报·自然科学版

Sep.2010

基于Matlab的最小二乘曲线拟合在大学物理实验中

的应用

徐敏1, 柳青1, 马延琴2

(1、西南民族大学电气信息工程学院, 成都610041;2、西南科技大学理学院, 四川绵阳621010)

摘要:将Matlab语言实现数据最小二乘处理的方法应用于大学物理实验, 避免了传统实验数据处理方法的弊端, 增加了数据处理的准确性及快捷性, Matlab的可视化功能也可以更加直观地反映实验结果, 在实际教学中取得了良好的教学效果.

关键词:Matlab;最小二乘法;数据处理

中图分类号:TP317.4 文献标识码:A

1 引言

在大学基础物理实验中, 数据处理是物理实验的重要组成部分和关键环节, 也是评价实验结果的一个重要指标. 我们常用的数据处理的方法有列表法、作图法、逐差法等,这些方法虽有许多优点, 但带有一定的主观任意性, 容易造成人为误差. 最小二乘法是一种在多学科领域中获得广泛应用的数据处理方法, 用数理统计的方法来处理实验数据, 具有较高的可信度, 但由于最小二乘法计算较复杂, 在基础物理实验的数据处理中,常常不被采用. Matlab 软件是一种集中了数值计算、符号运算及强大的图形处理、程序语言设计等功能于一体的科学计算语言. 用Matlab 处理实验数据非常简便, 只需要编写十几行几乎像通常计算式的简练程序, 运行后就可以得到结果. 它克服了最小二乘法计算量大的缺点, 将繁琐、枯燥的数值计算过程简单化、直观化、可视化, 并能较准确地标记出实验数据点和绘制出拟合曲线.

[2]

[1]

2 最小二乘法原理及曲线拟合[3, 4]

最小二乘法原理:在假定的函数前提下, 预设函数中参数为最佳值的条件是, 使测量偏差平方之和为最小. 设一组有n个实验点, 为(x1,y1), (x2,y2), ……, (xn, yn), 又设待求直线为

y=a+bx. (1)

由最小二乘法原理, 欲使参数为最佳值, 应满足下列条件, 也即使下式为最小

R(a,b)=∑[y

i=1n

. (2)

i−(a+bxi)]

2

二元函数R(a,b)取最小值的条件是

___________________________

⎧∂R⎪∂a=0,

(3) ⎨∂R

⎪=0.⎩∂b

收稿日期:2010-08-08

作者简介:徐敏(1980-),女,西南民族大学电气信息工程学院助理实验师. E-mail:61599@yeah.net

179月专辑 的最小二乘曲线拟合在大学物理实验中的应用 徐敏等: 基于Matlab ___________________________________________________________________ 求解得

nnnn

xiyi⋅∑xi−∑yi⋅∑xi2∑⎪

i=1i=1i=1

⎪a=i=1,2nn⎪⎛⎞2

⎜∑xi⎟−n∑xi⎪

⎪i=1⎝i=1⎠ (4) ⎨nnn⎪xi⋅∑yi−n∑xiyi∑⎪i=1i=1i=1

.2⎪b=nn

⎛⎞2⎪⎜∑xi⎟−n∑xi

⎪i=1⎝i=1⎠⎩

3 用Matlab处理实验数据

用实验的方法研究测力计示值与测量时对应温度的关系. 现测得值对应如下:

表1 测力计示值与测量时对应温度的关系

15 18 21 24 27 30 t/℃

F/N 43.61 43.63 43.68 43.71 43.74 43.78

假设F值随t的变化呈线性关系F=a+bt, 现在利用Matlab编程求出系数a和的b最小二乘估计[5] [6], 并拟

合出曲线[7].

具体程序如下:

%M命令文件 shiyanFt. m %用最小二乘法处理F-t实验数据 Clear; clf;

t=15:3:30; %输入温度t的实验数据 F= [43.61 43.63 43.68 43.71 43.74 43.78]; %输入对应的测力计示值 n=6; %测量次数为6

P=polyfit (t, F, 1) %用最小二乘法对t、F进行一元线性回归 a=P (2) %计算截距a b=P (1) %计算斜率b r=corrcoef (t, F) %计算相关系数

plot (t, F, 'o') %在t-F图上标记试验数据点 hold on;

tbest =15:3:30;

Fbest=a+ b* tbest; %输入要进行拟合的试验数据对 plot( tbest, Fbest,'-') %在t-F图上描绘拟合曲线 xlabel (' t/℃ ') %对x坐标轴加标注 ylabel (' F/N ') %对y坐标轴加标注

保存之后再运行 ( %符号后面的内容起注释作用, 用来增强程序的可读性, 若要删除, 也不影响程序的运行结果) , 可以得到如下结果:

a = 43.4324 b = 0.0115 r=0.9960

即拟合直线为 F=43.4324+0.0115t 拟合直线的相关系数 r = 0.9960

MATLAB所作的t-F拟合直线如图所示:

___________________________________________________________________18 西南民族大学学报·自然科学版 第 36卷

图1 t-F图上的实验图线与拟合直线

图中的“ο”表示实验数据点, 实线表示拟合直线. 从图1可以看出, 所测量的实验数据没有粗大误差, 实验数据点较合理地分布在拟合直线近旁. 相关系数r 约等于1, 因此用线性回归函数比较合理.

用Matlab处理测力计示值与测量时对应温度的实验数据, 可以将已保存的[ shiyanFt. m]文件打开, 适当修改文件中的实验数据, 运行后立刻可得到新的实验结果、实验图线和拟合曲线. 并且, 只要对该M命令文件稍加修改, 即可成为一个新的M命令文件, 用来处理其它实验项目的实验数据.

4 结论

在大学基础物理实验中, 利用MATLAB 语言强大的数值计算和图形处理功能, 避免了采用最小二乘法处理数据时繁琐的计算和作图, 同时将计算机应用与物理实验结合起来, 使两学科的知识相互交叉, 拓宽了学生的视野, 激发了学生学习的兴趣, 也培养了学生应用计算机知识解决实际问题的能力. 将MATLAB 语言应用于实验数据处理, 在大学物理实验教学中取得了良好的教学效果.

参考文献:

[1] 张世功. Matlab用于物理实验常见数据处理[J]. 大学物理实验, 2007, 20(4): 85-86.

[2] 韩敬, 钟方川, 李林. Matlab在大学物理实验数据处理中的应用[J]. 大学物理实验, 2008, 26(1): 88-90. [3] 刘志平, 石林英. 最小二乘法原理及其MATLAB实现[J]. 中国西部科技, 2008, 17(7):33-34. [4] 费业泰. 误差理论与数据处理[M]. 北京: 机械工业出版社, 2000: 5.

[5] 程卫国. MATLAB5.3精要、编程及高级应用[M]. 北京: 机械工业出版社, 2000: 4.

[6] 林志熙, 周景亮. 基于MATLAB的直线度误差数据处理的研究[J]. 工具技术, 2008, 42(3): 84-87.

[7] 武华. Matlab在热敏电阻温度特性实验中的应用[J]. 长春师范学院学报: 自然科学版, 2007, 26(5): 37-40.

The application of the least-squares curve fitting based on Matlab in the

college physical experiments

XU Min1, LIU Qing1, MA Yan-qin2

(1. School of Electrical and Information Engineering, Southwest University for Nationalities, Chengdu 610041, P.R.C.;

2. School of Sciences, Southwest University of Science and Technology, Mianyang 621010, P.R.C.)

Abstract: Using Matlab language to realize the least squares data treating in the college physics experiment can avoid the malpractice in additional ways, enhance the veracity and efficiency of data processing. The experiment result can be reflected intuitively with the visual function of the Matlab. We get good harvest in experiment teaching by applying this method. Key words: Matlab; least square; data processing

因篇幅问题不能全部显示,请点此查看更多更全内容