簡體   English   中英

如何確定三角函數的大小? C ++

[英]How to determine magnitude of trigonometric function? C++

>     if (((test>=0) && (test<=90)) || ((test>270) && (test<=360))){n_y=1;}
>     else {n_y=-1;}

我需要三角函數的大小才能確定落入特定象限的角度的三角函數的符號。

我的計划是將以上代碼替換為等效代碼。

這是我想用偽代碼執行的操作。

n_y = cos(test) / (magnitude of cos (test)); 

這會給我同樣的事情。 Abs()僅采用整數。 任何幫助表示贊賞。

我不知道您正在使用什么Abs()C ++標准的fab需要兩倍的精度

但是您實際上並不需要幅度,因為那樣您就不得不進行昂貴的划分。

而是只使用一個signum函數。

#include <cmath>以獲取浮點重載abs

至於尋找象限,如果0 <= test <= 360 ,而您想測試90 < test <= 270只需使用90 < test && test <= 270 當前正在測試的兩個不連續范圍之間有一個連續范圍。 但是,您的特定示例在映射0 => 1和270 => -1時非對稱地定義了事物。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM