matlab excel 精度,1.3.4 准确度与精度

1.3.4  准确度与精度

准确度与精度经常互换使用,但是在计算应用程序中它们还是有不同的含义。准确度是指某个计算值与实际值的接近程度,它本身是一个模型的函数。例如,在前面求炮弹***发射高度的例子里,所取的时间步数越多,求得的结果越接近"准确的"解析解。此外还要注意这个模型里的几个假设,例如,我们忽略了风的阻力的影响。这个假设也会影响解的准确度。

解的精度取决于输入值的正确性和这些数据在计算机里的存放形式。例如,在炮弹发射这个例子里,发射角是35? ,但是这个角度值准确吗?这要取决于炮弹的发架的设置和角度的测量。这个角度值可能是精确到度,或精确到十分之一度或精确到5?。

在科学领域里,通常输入变量的测量值的精度是已知的,计算结果的精度取决于输入值的有效位数。对于带小数点的数,它的有效位数定义为***位非零数字与***一位之间的位数。考虑下面的例子:

matlab excel 精度,1.3.4 准确度与精度_第1张图片

在进行运算时,运算结果的精度由输入值的最小精度决定。对于加法和减法运算,这意味着,结果中小数点右侧的位数必须等于输入值中小数点右侧的最少位数。例如:

26fb4074401bbfdd0b87482d0ecec020.png

对于乘法和除法运算,运算结果的有效位数必须等于输入值的有效位数的最小值。例如:

bc4d383428525f74c0b302c791b11275.png

有些量是准确值。例如,1ft正好等于12in。因此,如果我们要把11.556in转换为ft,则结果是:

matlab excel 精度,1.3.4 准确度与精度_第2张图片

不带小数点的数的精度一般都是无法确定的。例如,我们前面讨论过,炮弹的发射角度35?的精度就是如此。工程问题经常出现这种情况,即总是存在一些输入量的精度无法确定。因此,前面介绍的与精度有关的运算规则不能使用,还必须说明有效数字的位数。许多工程教材建议为最终结果保留3位有效数字(有的教材建议如果***位有效数字是1,要保留4位有效数字)。用手工进行运算时,中间结果的有效数字位数应该保留比最终结果多几位有效位数字。例如,如果把sin(35?)的值舍入为0.57,就不可以在最终的结果里保留多于2位的有效数字。

用计算机求解时,不会对中间结果进行舍入操作,因此最终结果的精度通常取决于输入值的精度。这里必须使用"通常"这个词,因为在有些情况下,如运算中同时用到很大和很小的数,用计算机计算也会产生累积误差。例如,当我们利用一种名为有限元分析方法的计算技术分析机械结构时,需要求解数千个模拟方程,如果在这些方程中的数值相差几个数量级,则求解算法的程序必须想办法使计算误差最小化。就工程专业的学生和正在实习的工程师们经常遇到的问题而言,这不会成为一个问题。Excel和MATLAB里的数值的精度到底是多少呢?Excel保留15位有效数字。而在默认情况下,MATLAB以双精度形式存储数值,它的精度也是15位。这里的"双精度"这个术语是指存储这样一个数需要用两个字节的计算机内存存储,而单精度数是指存储这样的一个数需要占用一个字节的计算机内存。在计算机的早期发展阶段,内存空间非常有限,因此只有为了确保运算精度时才使用双精度数值。使用双精度数也会增加计算时间。今天,由于计算机的硬件价格非常低,而且CPU运算速度非常快,因此,几乎没有必要使用单精度数。尽管如此,MATLAB还是支持单精度数。因此当我们需要处理超大规模数据集时,可以使用单精度数。

关于准确度和精度,有一点需要特别引起读者的注意。许多学生在用手工计算时,很自然会把运算结果舍入到一定精度,但是当他们用计算机程序求解一个工程问题时,总是在计算结果的报告里,包括了显示在计算机屏幕上的全部位数。我们这样做就是把计算机求解过程看成是一个黑盒,根本没有考虑到在输入与输出之间的运算过程。在计算机求解结果的报告中,如果我们使用合适的有效位数,就会给他人这样的印象:我们了解与该问题有关的一些假设和近似条件。工程专业的学生和实习工程师们必须正确理解计算结果,引用计算结果时要使用合理的有效位数,不要照搬计算机的输出结果。

【责任编辑:董书 TEL:(010)68476606】

点赞 0

你可能感兴趣的:(matlab,excel,精度)