第七章-数据处理
- 格式:doc
- 大小:1.11 MB
- 文档页数:52
误差理论与数据处理第七章动态测试数据处理基本方法第七章《动态测试数据处理基本方法》是《误差理论与数据处理》一书中的重要章节。
本章主要介绍了动态测试数据处理的基本方法,包括对动态测试数据进行平均处理、标准差处理、最小二乘法拟合以及误差传递等内容。
首先,动态测试数据处理一般需要进行数据平均处理,通过多次测试得到的数据进行求和并取平均值,以提高测试结果的准确度和可信度。
对于多次测试的数据,可以使用算术平均法、几何平均法或加权平均法等方法进行平均处理。
其次,动态测试数据的标准差处理是对数据的离散程度进行衡量的一种方法。
标准差可以反映数据的稳定性和可靠性,通过计算数据的标准差可以判断数据的散布范围。
标准差越小表示数据集中度越高,数据的可信度也越高。
进一步,最小二乘法拟合是一种常用的数据处理方法,可以通过对实际测量数据进行拟合,得到一条或多条曲线,以求解相关物理参数或者确定拟合曲线的函数表达式。
最小二乘法拟合可以将实际测量数据与拟合曲线之间的差异最小化,得到最优解。
最后,误差传递是动态测试数据处理中一个重要的概念。
在实际测试中,各种测量仪器的误差是不可避免的,这些误差会传递到最终的测试结果中。
误差传递原理可以通过误差传递公式来描述,同时也需要考虑误差的传递规律和误差的传递方式。
总之,动态测试数据处理是现代科学实验中必不可少的一个环节。
通过对动态测试数据进行平均处理、标准差处理、最小二乘法拟合以及误差
传递等基本方法的应用,可以提高数据的准确性和可信度,为科学实验的研究结果提供有力支撑。
第七章数据处理及应用【教学目的】:本章着重介绍数据的插值、拟合与多元回归分析,并利用Matlab相应工具结合具体案例进行分析。
【教学重点难点】:教学重点:插值与拟合,回归分析,聚类与分类。
教学难点:定性与定量的结合,如何在定性分析基础上给出适当的定量关系。
【课时安排】:8学时【教学方法】:采用多媒体教学手段,配合实例教学法,通过对典型例题的讲解启发学生思维,并给与学生适当的课后思考讨论的时间,加深知识掌握的程度。
安排一定课时的上机操作。
【教学内容】:7.1数据插值与拟合在工程和科学实验中,当研究对象的机理不清楚的时候,经常需要从一组实验观测数据(x i , y i) (i= 1, 2, …,n)中寻找自变量x与因变量y之间的某种函数关系y=f(x)。
比如测量了人的身高和体重的一些数据,要确定两者的函数关系,但身高与体重的机理我们不清楚,所以寻找尽量吻合这组测量数据的近似函数模型就很重要了。
函数f(x)的产生办法因观测数据与要求的不同而异,通常可采用数据插值与数据拟合的方法。
7.1.1数据插值1.插值问题的描述对给定的一组测量数据,要确定通过所有这些数据点的曲线或曲面的问题就是插值问题。
对一维插值问题可以这样描述:设f(x)在区间[a, b]上连续,x0,x1,…,x n为[a,b]上n 1个互不相同的点,且已知f(x)的一组实验观测数据(xi, yi ) (i = 1,2,…, n),要求一个性质优良、便于计算的近似函数ϕ(x),使得i i y x =)(ϕ,i =0,1,…,n (7.1)成立,这就是一维插值问题。
其中称[a , b ]为插值区间,点x0,x 1,…,x n 为插值节点,函数ϕ(x)为插值函数,f (x )为被插值函数,式(1)为插值条件。
求插值函数ϕ(x )的方法称为插值法。
关于高维插值可类似定义,本节只介绍一维和二维插值。
2.基本插值方法简介插值函数的取法很多,可以是代数多项式,也可以是三角多项式或有理函数;可以是[a ,b]上任意光滑函数,也可以是分段光滑函数。
对一维插值,最常用最基本的插值方法有:分段多项式插值与三次样条插值;二维插值根据数据分布规律可分为网格节点插值和散乱数据插值,相应的方法有双三次样条插值方法和改进的Sh ep ar d方法。
具体的方法原理请参阅计算方法的专业书籍,这里不再详细介绍。
下面我们着重介绍M atl ab 中如何实现数据插值。
3.插值方法的Matlab 实现 一维数据插值MATL AB 中用函数in terp1()来处理一维数据插值,它提供了四种插值方法供选择:线性插值、三次样条插值、三次插值和最临近插值。
命令 int er p1格式 y i = inter p1(x , y, x i, 'meth od') %对被插值节点x i , 用me thod 方法进行插值.说明 (1).输入参数说明:x ,y为插值节点,均为向量;x i 为任取的被插值点,可以是一个数值,也可以是一个向量;y i 为被插值点x i 处的插值结果;(2).其中m ethod 是选用的插值方法,具体有:'nearest'—表示最临近插值'linear'—表示线性插值,默认'cubic'—表示三次插值'spline'—表示三次样条函数插值注意上述method中所有的插值方法都要求x是单调的,并且x i不能超过x的取值范围,其中最后一种插值的曲线比较平滑;(3)三次样条插值函数的调用格式有两种等价格式:yi= interp1(x,y,xi,'spline')yi=spline(x, y, xi)例1:下表给出了12名成年女子的身高与腿长的测量数据:试研究身高与腿长的关系,并给出身高为148、150、160时腿长的预测值。
解:在matlab中输入代码:158ﻩ159ﻩ162 164];%插x=[143 145 146ﻩ149ﻩ153155ﻩ156 157ﻩ值节点ﻩ93 96 9897ﻩ96 98 70 72];y=[88 85ﻩ88ﻩ92x1=143:0.2:164; %被插值节点,用于确定插值函数.plot(x,y,'o');hold on%原始测量数据散点图.y1=interp1(x,y,x1,'spline');%求被插值节点处的函数值.yp=interp1(x,y,[148 150 160],'spline') %求身高为148、150、160时腿长.plot(x1,y1,x,y,'r:')%画出插值函数图形及测量数据的折线图.xlabel('身高'),ylabel('腿长') %加坐标轴标签输出结果为:yp=91.4561 92.194299.4787 %对应身高的腿长输出图形见图7.1:图7.1注意:1).matlab只会给出被插值节点处的函数值,而不会给出具体的函数解析表达式,这有点类似于我们求微分方程的数值解。
需要求点对应的插值(未知的),可以将被插值节点放在xi中;2).图7.1中有三条曲线,其中圆圈点是原始测量数据点(横坐标为插值节点),实线是插值函数图形,虚线是插值节点间的连接折线段。
二维数据插值针对二维插值中的插值基点为网格节点和散乱节点,MATLAB中分别提供了函数interp2()和griddata()来进行二维插值。
先介绍规则区域上给定数据有规律分布的二维插值。
命令interp2格式zi=interp2(x,y, z,x i, y i, 'method') %针对网格节点的二维插值.说明(1).输入参数说明:x,y,z为插值节点,其中x和y是自变量,x是m维向m 阶矩阵,表量,指明数据网格的横坐标,y是n维向量,指明数据网格的纵坐标,z是n示相应于网格点的函数值;z i 为被插值点(xi, yi) 处的插值结果;(2).其中method是选用的插值方法,具体有:'nearest'—表示最临近插值'linear'—表示双线性插值,默认'cubic'—表示双三次插值'spline'—表示双三次样条函数插值注意上述method中所有的插值方法都要求x和y是单调的网格,x和y可以是等距的也可以是不等距的。
xi和yi应是方向不同的向量,即一个是行向量,另一个是列向量。
几种方法中最后一种插值的曲面比较平滑。
例2:已知在某山区测得一些地点的高程如下表。
其平面区域为≤x,360040001200≤≤y,试用不同的插值方法作出该山区的地貌图。
1200≤解:输入程序代码:x=1200:400:4000;y=1200:400:3600;z=[1130 1250ﻩ1230ﻩ740 900 500 70012808501320 1450 1420 1400 1300 700 900ﻩ1390 1500 1500 1400900 1707609501500 1200170ﻩ1350ﻩ1450 1200 1150771500 1200ﻩ07115501600 1550 13807701500ﻩ1550ﻩ16001550 16001600ﻩ1600155014801500ﻩ1550 157 1430 1300ﻩ1200980]; %原始数据的山区地貌图figure(1)meshz(x,y,z)xlabel('X'),ylabel('Y'),zlabel('Z')title('原始数据地貌图')%为平滑曲面,加密网格x1=1200:50:4000;y1=1200:50:3600;%最临近插值figure(2)zn=interp2(x,y,z,x1,y1','nearest');surfc(x1,y1,zn)xlabel('X'),ylabel('Y'),zlabel('Z')title('最临近插值地貌图')%双线性插值figure(3)zl=interp2(x,y,z,x1,y1','linear'); surfc(x1,y1,zl)xlabel('X'),ylabel('Y'),zlabel('Z') title('双线性插值地貌图')%双三次插值figure(4)zc=interp2(x,y,z,x1,y1','cubic'); surfc(x1,y1,zc)xlabel('X'),ylabel('Y'),zlabel('Z') title('双三次插值地貌图')%双三次样条函数插值figure(5)zs=interp2(x,y,z,x1,y1','spline'); surfc(x1,y1,zs)xlabel('X'),ylabel('Y'),zlabel('Z') title('双三次样条函数插值地貌图') 输出可视化图形分别见图7.2—图7.6:图7.2图7.3图7.4 图7.5图7.6从图形可以看出,原始数据地貌图是很粗糙的,因为测量点比较少。
几种插值方法中最临近插值和双线性插值效果较差,而最后一种插值的曲面比较平滑,效果较好。
如果给定的数据是在规则区域上的散乱数据或随机分布的数据,即数据不是在网格上取的,则可用函数griddata()来解决二维插值问题。
命令griddata格式zi=griddata(x, y,z, x i,y i, 'method') %针对散乱数据的二维插值.说明(1).输入参数说明:x,y,z都是n维向量,分别指明所给插值节点的横坐标、纵坐标和z坐标;z i 为被插值点(x i, yi) 处的插值结果;x i和y i应是方向不同的向量,即一个是行向量,另一个是列向量;(2).其中method是选用的插值方法,具体有:'nearest'—表示最临近插值'linear'—表示双线性插值,默认'cubic'—表示双三次插值'v4'—表示matlab提供的插值方法其中'v4'方法比较好。
针对二维散乱插值问题,在matlab中还提供了两个插值函数:e01sef()和e01sff()。
通常两者要配合使用,其调用格式为:[fnodes, a, rnw, b,c] =e01sef(x,y,z)[sz(i,j), ifail] =e01sff(x, y,z,rnw, fnodes, sx(i),sy(j))其中:x, y, z—为插值节点,均为n维向量;sx(i), sy(j)—为被插值节点;sz(i, j)—为被插值点(sx(i),sy(j))处的插值结果;其他输出参数涉及插值算法。