0

考虑以下在 Matlab 中执行的示例:

x =  linspace(-pi, pi, 10^4);
x_R = chop(x, 3);
y = sin(x);
y_R = sin(x_R);

s = sum(y);
s_R = sum(y_R);
abs_err_sum = abs(s_R - s);
rel_err_sum = abs_err_sum/abs(s);

m = mean(y);
m_R = mean(y_R);
abs_err_mean = abs(m_R - m);
rel_err_mean = abs_err_mean/abs(m);

总和的相对误差最终比平均值略大(相差不大:相差 1.1102e-16),但我不明白为什么,特别是因为计算平均值也涉及计算相同的总和(除非Matlab mean() 本身不使用相同的 sum() 函数本身?)。

为了提供更多背景信息,这是我们为学生创建的作业的一部分,基于我自己在学生时代的作业。该作业中的原始问题是“在这种情况下,求和运算符对数字消除或均值运算符更健壮吗?为什么?” 我开始认为这个问题没有以最好的方式表达,也许两者都同样强大。

4

0 回答 0