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 度,而是非常接近此值的数字。
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP