DEV Community

Caleb Zhao
Caleb Zhao

Posted on

Incorrect calculations: tand(x) and cotd(x)

In this blog post, we explore incorrect calculations of the tangent function tand(x) and cotangent function cotd(x) of which the independent variable is in degrees in MATLAB.

Example 1. Given that x1 = 444555666.777 and x2=444555666.777e16, calculate tand(x1), cotd(x1), tand(x2), and cotd(x2).

Using MATLAB, I computed the values of tand(x) and cosd(x) at x1 and x2. The results are shown in the following screenshot.

MATLAB outputFrom the above screenshot, it can be seen that the outputs from MATLAB are 1.337846899312778,0.747469684695369,9.514364454222584, -1.337846899\red{312778}, -0.747469684\red{695369}, -\red{9.514364454222584}, and 0.105104235265676 -0.\red{105104235265676} respectively.

However, the correct values, rounded to 16 significant digits, are -0.1337846899800357e1, -0.7474696844229537, -0.1732050807568877e1, and -0.5773502691896258, respectively (as provided by ISRealsoft).

Therefore, the error rates for the significant digits of the first two are 6/16 = 37.5% and 7/16 = 43.75%, respectively; while the last two have completely incorrect digits, resulting in an error rate of 100% for each.

previous

Sentry image

Hands-on debugging session: instrument, monitor, and fix

Join Lazar for a hands-on session where you’ll build it, break it, debug it, and fix it. You’ll set up Sentry, track errors, use Session Replay and Tracing, and leverage some good ol’ AI to find and fix issues fast.

RSVP here →

Top comments (0)

Image of Docusign

🛠️ Bring your solution into Docusign. Reach over 1.6M customers.

Docusign is now extensible. Overcome challenges with disconnected products and inaccessible data by bringing your solutions into Docusign and publishing to 1.6M customers in the App Center.

Learn more