Arduino 中的三角函数


Arduino 提供 3 个基本的三角函数:sin()、cos() 和 tan()。所有其他三角表达式均可从这三个函数导出。

这三个函数均以弧度(float 类型)作为输入。它们返回双精度浮点数。

对于 sin() 和 cos(),值介于 -1 和 1 之间。tan() 的值没有此类界限。

示例

以下示例代码说明了这些函数的使用 −

void setup() {
   // put your setup code here, to run once:
   Serial.begin(9600);
   Serial.println();
   float pi = 3.14159;
   float angle_deg = 30;
   float angle_rad = angle_deg*pi/180;
   Serial.println(sin(angle_rad));
   Serial.println(cos(angle_rad));
   Serial.println(tan(angle_rad));
}

void loop() {
   // put your main code here, to run repeatedly:
}

输出

串口监视器的输出为 −

sin(30°) =1/2, cos(30°) = sqrt(3)/2 = 0.86602, tan(30°) = 1/sqrt(3) = 0.57735。因此,返回的值是正确的。

看到为 90 度打印的值将会非常有趣,因为 tan(90°) 等于无穷大。让我们尝试一下。串口监视器中以上代码的输出,将 30 替换为 90,如下所示 −

如您所见,它为 tan(90 度) 打印了 7,88,898.12,这是一个非常大的数字。还要注意,我们的 π 只定义到了小数点后 5 位。所以函数的输入不是准确的 90 度,而是非常接近此值的数字。

更新于: 29-May-2021

2K+ 浏览

开启您的 职业

完成课程获得认证

开始
广告