Q&A 게시판

cancel
Showing results for 
Search instead for 
Did you mean: 
Reply

삼각함수 곱셈공식 계산

Solved!
Go to solution

랩뷰 초보입니다

 

sin함수 곱셈 공식에서

 

sin(x+60)*sin(x) = -1/2*(cos(2*x+60)-cos(60))

 

-1/2*(cos(2*x+60)-cos(60))의 평균 * 2  = 1/2*cos(60) * 2 = cos(60) = 0.5

 

가 나오는 계산을 하려고 합니다. 그런데 결과값이 60도로 나오지 않고 60.1535로 나오는데 이유가 뭘까요? 오차가 대체 어디에서 나오는 건가요?

 

 

0 Kudos
Message 1 of 2
(204 Views)
Solution
Accepted by topic author mork05
02-19-2019 06:57 PM

오차날만한 곳.png

 

해당 코드에서 오차가 발생할만한 곳은 평균 계산하는 VI입니다.

지금 질문에서의 식은 평균이 0.25가 정확히 나온다는 가정하에 나와야하는데 이 평균을 계산하는 방식이 수식으로 계산하는 것이 아닌 사인과 코사인의 Y값의 평균을 샘플로 계산했기에 발생합니다.

신호 시뮬레이션 expressVI를 보시면 해당 시뮬레이션에서 나오는 그래프는 샘플 속도와 샘플 개수, 그리고 진동수에 따라 점들의 Y값이 정해지고 이러한 Y값들의 연결한 사인 및 코사인 그래프가 나오게 됩니다. 결국 엄청 확대해 보면 깔끔한 사인 그래프가 아닌 아주 미세하게 살짝 찌그러진 사인 그래프라고 볼 수 있죠.

 

공식에서는 주파수가 영향을 받지 않습니다. 그런데 저 코드에서는 주파수와 샘플 수, 샘플 속도에 의해 Y값에 영향이 가고 Y값을 평균을 내는 과정에서 정확한 0.25가 아닌 미세한 오차가 포함되어 있습니다. 그로인해 아크코사인 계산에서 60이 아닌 오차가 포함된 60.xxx혹은 59.xxx이 나오게 됩니다.

 

0 Kudos
Message 2 of 2
(180 Views)