大学物理实验-不确定度计算
输入输出示例
- 输入
L = [98.98 98.96 98.97 98.94 99.00,98.95,98.97];
delatX_B = 0.05/sqrt(3);
- 输出
数据长度:
7
数据长度>=6,故s≈σ,t因子≈0
不存在坏值
Y_bar:
98.9671
△Y:
0.0300
Y_bar结果得自己手动四舍六入五凑整
△Y结果有些情况可能有问题
MATLAB代码
% 测量结果的表示
% Y = Y_bar ± △Y
% 数据输入
L = [15.1 15.33 15.15 14.82 14.86 15.21 14.89 14.95];
delatX_B = 0.05/sqrt(3);
% t因子表
% t = [Inf 1.84 1.32 1.20 1.14 1.11 1.09 1.08 1.07 1.06 1.05 1.03]
t_0683 = [Inf 1.84 1.32 1.20 1.14];
% 选择t值
n = length(L);
disp("数据长度:")
disp(n)
if(n>=6)
disp("数据长度>=6,故s≈σ,t因子≈0")
t = 1;
else
disp("故选择t因子:")
disp(t)
t = t_0683(n);
end
Y_bar = mean(L);
dL = L - mean(L);
sigma = std(L)*t;
% 去除坏值
if(max(abs(dL)) >= 3*sigma)
disp("存在坏值为:")
disp(L(abs(dL)>=3*sigma))
disp("请手动去除!")
else
disp("不存在坏值")
sigma_xBar = sigma ./ sqrt(n);
disp("σ_xBar:")
disp(sigma_xBar)
delatX = sqrt(sigma_xBar^2+delatX_B^2);
disp("△Y未进位:")
disp(delatX)
delatX = ceil(delatX/(10^(floor(log10(delatX)))))*(10^(floor(log10(delatX))));
disp("Y_bar:")
disp(Y_bar)
disp("△Y:")
disp(delatX)
end