function to increase the range of inverse sine
14 ビュー (過去 30 日間)
古いコメントを表示
The asin() function only returns values between (-pi/2, pi/2). How can I write a function to give me values between (0, 2pi)?
0 件のコメント
回答 (3 件)
Walter Roberson
2011 年 9 月 14 日
1 件のコメント
Jan
2011 年 9 月 14 日
This will solve the problem by using the MATLAB 2013a or later. Not very efficient...
the cyclist
2011 年 9 月 14 日
You can force the output to be within the range (0,2pi) by applying the mod() function:
>> mod(asin(x),2*pi)
Given only one input argument, you can't infer precisely which quadrant to return. Walter's answer points to a list of requested features (specifically, more two-argument versions of inverse trig functions).
0 件のコメント
theodore panagos
2018 年 10 月 26 日
編集済み: Walter Roberson
2018 年 10 月 26 日
You can have the asin(x,y) from 0 to 2*pi by the formula:
asin(x,y)=pi-pi/2*(1+sgn(x))*(1-sgn(y^2))-pi/4*(2+sgn(x))*sgn(y) -sgn(x*y)*asin((abs(x)-abs(y))/sqrt(2*x^2+2*y^2))
there is x=x2-x1 and y=y2-y1
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Special Functions についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!