Solved

arcSin and arcCos without using library functions

Posted on 2009-05-03
4
662 Views
Last Modified: 2012-05-06
Hi guys i want to find arcSin and arcCos without using library functions,

Can you please provide me the algorithm or equation which gives accurate reading,

Please help,

its urgent,

Thanks,
0
Comment
Question by:montu_12
  • 2
4 Comments
 
LVL 84

Accepted Solution

by:
ozo earned 250 total points
ID: 24292794
float arctan(float x){
    if( x < 0 ){ return -arctan(-x); }
    if( x > 1 ){ return pi/2 - arctan(1/x); }
    if( x <= 1/8.0 ){ return  0.9974133042 * x; }
    if( x <= 2/8.0 ){ return  0.004072621 + 0.964989344 * x; }
    if( x <= 3/8.0 ){ return .017899968 + 0.910336056 * x; }
    if( x <= 4/8.0 ){ return .044740546 + 0.839015512 * x; }
    if( x <= 5/8.0 ){ return .084473784 + 0.759613648 * x; }
    if( x <= 6/8.0 ){ return .134708924 + 0.679214352 * x; }
    if( x <= 7/8.0 ){ return .192103293 + 0.602631128 * x; }
    if( x <= 8/8.0 ){ return .253371504 + 0.532545304 * x; }
}

float arcsin(float x){
  return arctan(x/sqrt(1-x*x));
}
float arccos(float x){
    return pi/2 - arcsin(x);
}
0
 
LVL 27

Expert Comment

by:CaptainCyril
ID: 24293128
Arcsin(x) Calculator
http://www.analyzemath.com/Calculators_2/arcsin_calculator.html

Inverse trigonometric functions
http://en.wikipedia.org/wiki/Inverse_trigonometric_functions
You can write a loop to calculate the definite integrals. Divide the area let's say by 1000 and calculate the areas of the smaller 1000s rectangles.

Calculating ArcSin and ArcCos
http://cuinl.tripod.com/Tips/math9.htm
0
 
LVL 27

Expert Comment

by:CaptainCyril
ID: 24297091
0
 
LVL 22

Assisted Solution

by:NovaDenizen
NovaDenizen earned 250 total points
ID: 24306215
I like ozo's code, except for the piecewise linear approximation (all the "if (x <=" lines).  I would instead recommend the Maclaurin series, see (17) at http://mathworld.wolfram.com/InverseSine.html.

Alternatively, you will get quicker convergence and better numerical accuracy if you also use the Maclaurin series for arccos(1 - y), for situations when y is close to 1 and convergence will be slow.
0

Featured Post

Courses: Start Training Online With Pros, Today

Brush up on the basics or master the advanced techniques required to earn essential industry certifications, with Courses. Enroll in a course and start learning today. Training topics range from Android App Dev to the Xen Virtualization Platform.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Solving an equation 8 63
Whisker Plot 1 43
Functions 7 72
Geomentry-Fundamental concepts-Angles 3 72
We are taking giant steps in technological advances in the field of wireless telephony. At just 10 years since the advent of smartphones, it is crucial to examine the benefits and disadvantages that have been report to us.
When we purchase storage, we typically are advertised storage of 500GB, 1TB, 2TB and so on. However, when you actually install it into your computer, your 500GB HDD will actually show up as 465GB. Why? It has to do with the way people and computers…
This is a video describing the growing solar energy use in Utah. This is a topic that greatly interests me and so I decided to produce a video about it.
Although Jacob Bernoulli (1654-1705) has been credited as the creator of "Binomial Distribution Table", Gottfried Leibniz (1646-1716) did his dissertation on the subject in 1666; Leibniz you may recall is the co-inventor of "Calculus" and beat Isaac…

815 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

8 Experts available now in Live!

Get 1:1 Help Now