为了算得舒服些,其实是作者不想按计算器,写了一个MATLAB程序来计算大物实验数据的平均值、不确定度等。
小函数,用于计算平均值,后面的Uncertain函数会用到,如果想用的话一定要同时下载两个函数
function [ Result ] = Aver( Input )
%输入测量的数据
sum = 0;
for k = 1: length(Input)
sum = sum + Input(k);
end
Result = sum / length(Input);
end
Uncertain函数,用于计算数据的值以及不确定度。data要求以向量形式输入数据,equip输入仪器的误差值,之后函数会返回数据值X(算术平均值)以及数据不确定度U。
例如:测量的数据是[1.00, 1.02, 1.04],仪器误差是0.1,在命令框中输入[X, U] = ([1.00, 1.02, 1.04], 0.1)后就会得到结果X = 1.02和U = 0.0589。
function [ X, U ] = Uncertain( data, equip )
%%输入一组测量数据(以向量的形式输入)data以及仪器的误差限equip
%%注意两个数据的单位要统一
%%此函数会输出一个二维向量,为测量值X以及不确定度U
%%测量值
sum = 0;
for k = 1: length(data)
sum = sum + data(k);
end
X = sum / length(data);
%%测量误差
%输入测量的数据
sum1 = 0;
n = length(data);
for k = 1: n
sum1 = sum1 + (data(k) - Aver(data))^2;
end
Ua = sqrt(sum1 / (n * (n - 1)));
%%装置误差
%仪器误差限
Ub = equip / sqrt(3);
%总误差
U = sqrt(Ua ^2 + Ub ^2);
end