Problem in using asin function
조회 수: 1 (최근 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
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
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
추가 답변 (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!