MATLAB Answers

# How do I use acot(x) as a continuous function in matlab?

32 views (last 30 days)
Michael Pegis on 3 Feb 2021
Commented: Michael Pegis on 8 Feb 2021
Hi All,
I tried searching for answers about this, but I am trying to model a chemical system by defining a potential energy surface that is the product of two functions weighted by their probability, e.g.
F(x,y) = f1(x,y)*n(x,y) + f2(x,y)*(1-n(x,y))
where n is my switching function (should scale between 0 and 1)
The problem is, the literature I am using is using 1/(pi)*acot(x) as the switching function. It looks like the default setting in matlab is to define the acot(x) in the domain where it is a discountinuous function (rather than starting from 0 to Pi as input domain for the inverse).
How do I use acot(x) as a continuous function in matlab?
For additional context you can see this link https://www.intmath.com/blog/mathematics/which-is-the-correct-graph-of-arccot-x-6009
##### 0 CommentsShowHide -1 older comments

Sign in to comment.

### Accepted Answer

David Goodmanson on 4 Feb 2021
Edited: David Goodmanson on 4 Feb 2021
Hi Michael,
I believe that
1/2 - (1/pi)*atan(x)
fills the bill. It's the same as (1/pi)*acot(x) for x>0 and is continuous, with range 0 to 1.
##### 1 CommentShowHide None
Michael Pegis on 8 Feb 2021
Hi David,
Thanks so much! That seems to work great

Sign in to comment.

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!