DEV Community

Caleb Zhao
Caleb Zhao

Posted on Edited on

Incorrect calculations: cos(x) near x=k*π+π/2

In this blog post, we explore incorrect calculations of the cosine function cos(x) in MATLAB near numbers around k π+π2. k\,\pi+\frac{\pi}{2}.

Example 1. Given that x1=0.392699082e2≈12 π+π2 x_1=0.392699082\textup{e}2\approx 12\,\pi+\frac{\pi}{2} and
x2=0.1115265392024e3≈35 π+π2 ,x_2=0.1115265392024\textup{e}3\approx 35\,\pi+\frac{\pi}{2}\,, calculate cos⁡(x1) \cos(x_1) and cos⁡(x2) \cos(x_2) in MATLAB.

Let's just post the figure directly.

MATLAB outputFrom the above screenshot, it can be seen that the two outputs from MATLAB are
−3.012758778139255e−08 -3.012758\red{778139255}e-08 and −3.765778342090408e−11. -3.765\red{778342090408}e-11.

However, the correct values with 16 significant digits are -0.3012758451921695e-7 and -0.3765996542384011e-10, respectively (as provided by ISRealsoft).

Thus, the outputs of MATLAB contain 9 and 12 incorrect digits, with error rates of 9/16 = 56.25% and 12/16 = 75% respectively for the significant figures.

previous  \,\quad\quad\quad\quad\hspace{7.2cm} next

Top comments (0)