Elenco delle funzioni matematiche.
Arduino supporta molte funzioni matematiche, una piccola parte di esse sono funzioni macro fornite con Arduino.h, tutto il resto viene ereditato dalla potente libreria C++ math.h.
Funzioni matematiche da math.h
- cos (x) - Coseno (radianti)
- sin (x) - Seno (radianti)
- tan (x) - Tangente (radianti)
- fabs (x) - Il valore assoluto di un numero
per numeri float
- fmod (x, y) - Resto di x diviso per y per float
- modf (x, *iptr) - Restituisce la parte frazionaria, memorizza l'intero in iptr
- modff (x, *iptr) - Lo stesso ma per float
- sqrt(x) - Radice quadrata
- sqrtf (x) - Radice quadrata dei numeri float
- cbrt(x) - Radice cubica
- hypot (x, y) Ipotenusa (Radice
(x*x + y*y))
- square (x) - quadrato ( x*x )
- floor (x) - Arrotondamento a numero intero in basso
- ceil (x) - Arrotondamento a
numero intero in alto
- frexp (x, *pexp)
- ldexp (x, exp) - x*2^exp
- exp (x) - Esponente (e^x)
- cosh (x) - Coseno iperbolico (radianti)
- sinh (x) - Seno iperbolico (radianti)
- tanh (x) - Iperbolica tangente (radianti)
- acos (x) - Arcocoseno (radianti)
- asin (x) - Arcseno (radianti)
- atan (x) - Arcotangente (radianti)
- atan2 (y, x) - Arcotangente (y / x) (ti permette di trovare il quadrante in cui si trova il punto)
- log (x) - Logaritmo naturale di x ( ln(x))
- log10(x) - Logaritmo decimale di x ( log_10 x)
- pow (x, y) - Potenza ( x^y )
- isnan (x) - Test per nan (1 sì, 0 no)
- isinf(x) - Ritorno 1 se x + infinito, 0 in caso contrario
- isfinite(x) - Restituisce un valore diverso da zero solo se, se l'argomento ha un valore finito
- copysign (x, y) - Restituisce x con y con segno (segno significa + -)
- signbit(x) - Restituisce un valore diverso da zero solo se _x è negativo
- fdim (x, y) - Restituisce la differenza tra x e y se x è maggiore di y, altrimenti 0
- fma (x, y, z) - Restituisce x*y + z
- fmax (x, y) - Restituisce il numero più grande
- fmin (x, y) - Restituisce il numero più piccolo
- trunc (x) - Restituisce la parte intera di un numero con punto decimale
- round(x) - Arrotondamento matematico
- lround (x) - Arrotondamento matematico (per numeri grandi)
- lrint (x) - Arrotonda il valore in virgola mobile specificato al valore intero più vicino, utilizzando la modalità e la direzione di arrotondamento correnti
Arduino - funzioni matematiche.
- min(a, b) - Restituisce il numero
minore tra a e b
- max(a, b) - Restituisce il numero più grande tra a e b
- abs(x) - Il valore assoluto di un numero
- constrain(val, min, max) - Limita l'intervallo di val tra min e max
- map(val, min, max, newMin, newMax) - Mappa l'intervallo di val (da min a max) in un nuovo intervallo (da newMin a newMax). val = map(analogRead(0), 0, 1023, 0, 100); - ottenere dall'ingresso analogico i valori 0-100 anziché 0-1023. Funziona solo con numeri interi!
- round(x) - Arrotondamento matematico
- radians(deg) - Converte i gradi in radianti
- degrees(rad) - Converte i radianti in gradi
- sq(x) - Il quadrato di un numero
Costanti matematiche.
- INT8_MAX = 127 - max. valore char int8_t
- UINT8_MAX = 255 - max. valore in byte, uint8_t
- INT16_MAX = 32767 - max. valore int, int16_t
- UINT16_MAX = 65535 - max. valore unsigned int, uint16_t
- INT32_MAX = 2147483647 - max. valore lungo, int32_t
- UINT32_MAX = 4294967295 - max. valore unsigned long, uint32_t
- M_E = 2.718281828 - numero e
- M_LOG2E = 1.442695041 - log_2 e
- M_LOG10E = 0.434294482 - log_10 e
- M_LN2 = 0.693147181 - log_e 2
- M_LN10 = 2.302585093 - log_e 10
- M_PI = 3.141592654 - pi
- M_PI_2 = 1.570796327 - pi/2
- M_PI_4 = 0.785398163 - pi/4
- M_1_PI = 0.318309886 - 1/pi
- M_2_PI = 0.636619772 - 2/pi
- M_2_SQRTPI = 1.128379167 - 2/radice(pi)
- M_SQRT2 = 1.414213562 - radice(2)
- M_SQRT1_2 = 0.707106781 - 1/radice(2)
- NAN __builtin_nan("") - nan
- INFINITY __builtin_inf() - infinity
- PI = 3.141592654 - pi
- HALF_PI = 1.570796326 - pi/2
- TWO_PI = 6.283185307 - pi*2
- EULER = 2.718281828 - numero di Eulero e
- DEG_TO_RAD = 0.01745329 - Costante di conversione da grad a rad
- RAD_TO_DEG = 57.2957786 - Costante di conversione rad in gradi