Arduino - 数学库

Arduino 数学库 (math.h) 包含许多用于处理浮点数的有用数学函数。

库宏

以下是标头 math.h − 中定义的宏

库函数

标题中定义了以下函数math.h

示例

以下示例展示了如何使用最常见的 math.h 库函数 −

double double__x = 45.45 ;
double double__y = 30.20 ;

void setup() {
    Serial.begin(9600);
    Serial.print("cos num = ");
    Serial.println (cos (double__x) ); // 返回 x 的余弦
    Serial.print("num 的绝对值 = ");
    Serial.println (fabs (double__x) ); // 浮点的绝对值
    Serial.print("浮点模数 = ");
    Serial.println (fmod (double__x, double__y)); // 浮点模数
    Serial.print("num 的正弦 = ");
    Serial.println (sin (double__x) ) ;// 返回 x 的正弦
    Serial.print("num 的平方根 : ");
    Serial.println ( sqrt (double__x) );// 返回 x 的平方根
    Serial.print("num 的正切:");
    Serial.println ( tan (double__x) ); // 返回 x 的正切
    Serial.print("num 的指数值:");
    Serial.println ( exp (double__x) ); // 函数返回 x 的指数值。
    Serial.print("cos num :");
    
    Serial.println (atan (double__x) ); // x 的反正切
    Serial.print("num 的正切:");
    Serial.println (atan2 (double__y, double__x) );// y/x 的反正切
    Serial.print("num 的反正切:");
    Serial.println (log (double__x) ) ; // x 的自然对数
    Serial.print("cos num : ");
    Serial.println ( log10 (double__x)); // 以 10 为底的 x 的对数。
    Serial.print("以 10 为底的 num 的对数 : ");
    Serial.println (pow (double__x, double__y) );// x 的 y 次方
    Serial.print("num 的次方 : ");
    Serial.println (square (double__x)); // x 的平方
}

void loop() {

}

结果

cos num = 0.10
num 的绝对值 = 45.45
浮点模数 =15.25
num 的正弦 = 0.99
num 的平方根 : 6.74
num 的正切 : 9.67
num 的指数值 : ovf
cos num : 1.55
num 的正切 : 0.59
num 的反正切 : 3.82
cos num : 1.66
以 10 为底的 num 的对数 : inf
num 的次方 : 2065.70