Incorrect calculations: sec(x) and csc(x) for large values of x
Caleb Zhao

Caleb Zhao @zaim

About: Numerical analyst focused on computational error reduction and simulation accuracy.

Location:
Shanghai, China
Joined:
Oct 26, 2024

Incorrect calculations: sec(x) and csc(x) for large values of x

Publish Date: Nov 11 '24
0 0

In this blog post, we explore incorrect calculations of the secant function sec(x) and cosecant function csc(x) for large numbers in MATLAB.

Example 1. Given that x = 1234567890888777.123, calculate sec(x) and csc(x).

Using MATLAB, I computed the values of sec(x) and csc(x) at x = 1234567890888777.123. The result is shown in the following screenshot.

MATLAB outputFrom the above screenshot, it can be seen that the outputs from MATLAB are 1.059606794245841 -1.\red{059606794245841} and 3.024159505568874 -\red{3.024159505568874} respectively.

However, the correct values with 16 significant digits are -0.1116013690832344e1 and -0.2252452617594792e1, respectively (as provided by ISRealsoft).

Therefore, out of the 32 significant digits in the two outputs from MATLAB, only 1 digit is correct. The error rates are 15/16 = 93.75% and 16/16 = 100%, respectively.

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

Comments 0 total

    Add comment