Problem in using asin function

1 回表示 (過去 30 日間)
parham kianian
parham kianian 2020 年 3 月 15 日
コメント済み: Alex Dell 2021 年 3 月 30 日
Consider the followingj
t = 0 : 0.02 : 10;
nu = (t-5).^2 + 2;
omega = 2*pi*nu;%as a polynomial of degree 2
f = sin(omega);
Since f has defined as sin(omega), it should be possible to recalculate omega from f. That is:
Omega = asin(f);
plot(t,omega,'b',t,Omega,'r--')
Of course omega and Omega are no the same. But, is there any solution for this problem?
  2 件のコメント
Sriram Tadavarty
Sriram Tadavarty 2020 年 3 月 15 日
Should this use sind and asind functions?
Alex Dell
Alex Dell 2021 年 3 月 30 日
You could try normalising your polynomial such that it fits within the first interval of the asin function and then multiply the final terms by this same factor.
f = sin(omega./max(omega));
Omega = asin(f).*max(omega);
This should then give a consistent output to your original polynomial.

サインインしてコメントする。

採用された回答

Ameer Hamza
Ameer Hamza 2020 年 3 月 15 日
This is not a problem with MATLAB. This is the property of sin function. Sin is a periodic function, therefore, its inverse function asin can only the output value in a specific range. Consider this
sin(pi/2) = 1
sin(5*pi/2) = 1
sin(9*pi/2) = 1
so what should be the output of
asin(1)

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeSpecial Functions についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by