摘要 探讨 MATLAB 中 cospi}(x)=\cos(\pi\times x)" class="mathcode" src="https://latex.csdn.net/eq?%5Ctextup%7Bcospi%7D%28x%29%3D%5Ccos%28%5Cpi%5Ctimes%20x%29" /> 的计算精度问题。当 为含有小数的大数或 ()附近数时,输出会有错误数字。
例1. 已知
计算 cospi}(x_1)\,," class="mathcode" src="https://latex.csdn.net/eq?%5Ctextup%7Bcospi%7D%28x_1%29%5C%2C%2C" /> cospi}(x_2)\,," class="mathcode" src="https://latex.csdn.net/eq?%5Ctextup%7Bcospi%7D%28x_2%29%5C%2C%2C" /> cospi}(x_3)\,," class="mathcode" src="https://latex.csdn.net/eq?%5Ctextup%7Bcospi%7D%28x_3%29%5C%2C%2C" /> cospi}(x_4)\,." class="mathcode" src="https://latex.csdn.net/eq?%5Ctextup%7Bcospi%7D%28x_4%29%5C%2C." />
直接贴图吧:
另外,16位的正确值分别为 -0.7882256119904400e0、0.1702266977524110e0、-0.1256637061402844e-4 与 -0.2513274122871835e-8(ISRealsoft 提供)。
容易看出,MATLAB的输出中,与红色数字对应的有效数字是错误数字。这样,MATLAB的输出中分别有5位、11位、4位及13位错误数字;有效数字的错误率分别为 5/16 = 31.25% , 11/16 = 68.75% , 4/16 = 25% , 13/16 = 81.25% .
注:可参考计算机的错误计算(五十八)、(六十五)、(一百四十一)及(一百四十三)。