How to get the solutions of inverse cosine (acos) in the interval [0, 2π]?

73 Ansichten (letzte 30 Tage)
Hi guys!
I've an expression like this one: "cos_omega = ...".
I know that the matlab function acos return only the solution in the interval [0, π].
How can I obtain the two solutions, i.e. the first one in the interval [0, π] and the second one in the interval [π, 2π]?
Is there a matlab function to perform this task?

Akzeptierte Antwort

Torsten
Torsten am 7 Mär. 2022
Bearbeitet: Torsten am 7 Mär. 2022
Is there a matlab function to perform this task?
No.
But if you want to work within the branch in [0,pi] as well as in [pi,2*pi], you may define your own acos-function as
Acos_User = @(x) [acos(x),2*pi-acos(x)]
where x is given in radians.
I returns a (1x2) vector with both values.

Weitere Antworten (1)

Davide Masiello
Davide Masiello am 7 Mär. 2022
Bearbeitet: Davide Masiello am 7 Mär. 2022
n = 10;
k = 1:n;
omegas = sort([k*2*pi-acos(cos_omega),k*2*pi+acos(cos_omega)])'
yields solutions up to [(2*n-1)*pi 2*n*pi]. For the case above
omegas =
5.6397
6.9267
11.9229
13.2099
18.2061
19.4931
24.4892
25.7762
30.7724
32.0594
37.0556
38.3426
43.3388
44.6258
49.6220
50.9090
55.9052
57.1922
62.1884
63.4754
>> cos(omegas)
ans =
0.8000
0.8000
0.8000
0.8000
0.8000
0.8000
0.8000
0.8000
0.8000
0.8000
0.8000
0.8000
0.8000
0.8000
0.8000
0.8000
0.8000
0.8000
0.8000
0.8000

Kategorien

Mehr zu Geometric Transformation and Image Registration finden Sie in Help Center und File Exchange

Produkte


Version

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by