【摘 要】Maple是由加拿大Waterloo大学开发的,从1980年的R1发展至今的R6版,已成为一个相当完备的软件,它所提供的数学运算工具,不但可以及时为道桥、房建等土工类施工所需实验怎么写作,还可以即时处理各类工程试验及检测数据,是一种有很高应用价值的软件.
【关 键 词】Maple;软件;实验数据处理;工程试验检测
1.Maple处理直接测量的数据
设对某一物理量在相同条件下,测得n个测量值,分别为x1,x2等xn,用Maple将该测量值组成串行,赋给变量x;用Mean()函数求平均值,赋给变量x,用Standarddeviation()函数求测量列的标准偏差sx,平均值的标准偏差sx;根据格罗布斯判据,自编程序判断剔除测量列的坏数据;输入B类不确定度ubx后,求合成不确定度ucx等于.
在Maple工作窗口中,首先要加载系统自带的有关统计和绘图的库函数Stats,再加载Stats中用于统计的子函数库describe,用于曲线拟合的Fit子函数库等.指令为:
>Restart:
>with(stats):with(describe):with(fit):
>x:等于[x1,x2,x3,等xn],测量值组成的串行
1.1求测量列算术平均值
将直接测量列,定义为串行后,测量的算术平均值为:
>x:等于mean(x);
>n:等于nops(x);n为测量次数
不过当测量值xi是某次测量多次重复的和,例如在惯性秤定标过程中,用停表测得惯性称,连续摆动20个周期的总时间为xi,则惯性称摆动1个周期的时间为:
>x:等于xi/20;
求惯性称每个摆动周期的平方,则先定义一个平方关系的子函数fun,然后用库函数map(),计算串行x中每个元素经平方运算后的结果,组成新的串行xsquare:
>fun:等于x->x^2;
>xsquare:等于map(fun,x);
1.2计算标准偏差
在Maple中,标准差定义为s等于.因此,测量值所组成的x串行的测量列标准偏差为sx等于s,算术平均值的标准偏差为sx等于s等于sx,相应的指令为:
>s:等于standarddeviation(x),
>sx:等于s*sqrt(n/(n-1)),
>sx:等于sx*sqrt(1.0/n),
1.3坏数据的判断和剔除
将格罗布斯判据系数,定义为串行gn的元素,其中3≤n≤20,则测量次数n,对应串行中的第n-2个元素:
>gn:等于
[1.15,1.46,1.67,1.82,1.94,2.03,2.11,2.18,2.24,2.29,2.33,2.37,2.41,2.44,2.47,2.50,2.53,2.56],
由于Maple没有直接提供判断坏数据的函数,所以需自编程序判断测量值的好坏,设置信水平为α等于0.05.程序为:
>n:等于nops(x):k:等于gn[n-2]:
>s:等于standarddeviation(x):
>x:等于mean(x):
>forifrom1tondo
>j:等于x[i],
>g:等于evalf(x+k*s),m:等于evalf(x-k*s),
>if(j-g>0orj-m<0)then
>x:等于remove(type,x,j):剔除坏数据j
>print(j),输出被剔除的坏数据
>x:等于mean(x):剔除坏数据后的平均值
>s:等于standarddeviation(x),
>i:等于1,n:等于nops(x),k:等于gn[n-2],
>endif,enddo,
>print(x),输出剔除坏数据后新的测量列x
1.4计算直接测量不确定度ucx
输入B类不确定度,赋给变量ucb,则合成不确定度为:
>ucx:等于sqrt(sx^2+ucb^2),
2.间接测量数据处理的Maple程序
2.1平均值的Maple算法
设间接测量值y等于f(x1,x2等xm),并设直接测得xi各有n个测量值,则对应的测量列串行分别为:
>x1:等于[x11,x12,等x1n],
>x2:等于[x21,x22,等x2n],
>xm:等于[xm1,xm2,等xmn],
>y:等于(x1,x2,等xm)->f(x1,x2,等xm),
2.2标准差的传递与合成
在计算标准差的合成之前,要加载Maple中的Student链接库,方可用其中的D[i](f)函数,计算y等于f(x1,x2,等xm)的偏导.
>with(student),
合成标准偏差,即y的A类不确定度say为:
>say:等于sqrt((D[1](f))^2*sx1^2+(D[2](f))^2*sx2^2+等+(D[m](f))^2*sxm^2)
合成不确定度ucy为:
>ucy:等于sqrt((d[1](f))^2*ucx1^2+(d[2](f))^2*ucx2^2+等+(d[m](f))^2*ucxm^2),
3.线性回归与作图
在Maple的Stats函数库里,含有Fit子函数库,提供相应的曲线拟合指令Leastsquare()函数,利用最小平方法,对二元或多元,进行直线拟合或按指定的方程形式,进行曲线拟合,如果要描出数据点,并绘出拟合后的曲线,必须加载Plots()子函数库.
>With(fit):with(plots),
设两测量列(次数相同)组成的x,y串行分别为:
>x:等于[x1,x2,等xn],
>y:等于[y1,y2,等yn],
测量列的线性相关系数rxy为.
>rxy:等于linearcorrelation(x,y),
将x与y这两组串行数据组成数据对[x1,y1],[x2,y2]等[xn,yn],赋给xy串行,并拟合成直线eq(y等于ax+b)
>xy:等于zip((x,y)->[x,y],x,y),
>eq:等于leastsquare[[x,y]]([x,y]),
截距b,斜率a,可从拟合后的直线方程中得到,相应的标准差分别为:
>Sa:等于sqrt((1-rxy^2)/(n-2))*a/rxy,
>Sb:等于quadraticmean(x)*Sa,
4.结束语
在土工物理实验中,经常遇到复杂数据的处理问题,如大规模的原始数据记录整理,矩阵运算,微积分运算,线性回归分析,作图等,通过Maple所提供的各种数学工具和交互功能,可使实验数据的处理,变得简单而又准确地得到实验结果.
【参考文献】
[1]虞福春.误差和实验数据分析[M].北京:北京大学物理系,1982.
[2]龚镇雄.普通物理实验中的数据处理[M].陕西:西北电讯工程学院出版社,1985.
[3]杨述武主编.普通物理实验[M].北京:高等教育出版社,1999.
[4]洪维恩.数学魔法师Maple6[M].北京:人民邮电出版社,2001.
[5].省略.