A matematikai adatok feldolgozását könnyítik meg a beépített függvények. Segítenek minimum-maximum érték ill. tartomány érték beállítással, abszolút érték, négyzet illetve gyök számítással. Lerövidítik a programkódot, könnyítik a programozó munkáját, de ne ragozzuk nézzük a függvényeket.
int
szam,ertek;
void setup(){
Serial.begin(9600);
}
void loop(){
//min érték tesztelése
szam = min(213,128);
Serial.print("minimal ertek: ");
Serial.println(szam);
//max érték tesztelése
szam = max(321,672);
Serial.print("maximum ertek: ");
Serial.println(szam);
delay(1000);
// változó naximális értékének
korlátozása
for(int i=0;i<300;i+=10){
ertek=i;
szam = min(ertek,200);
Serial.println("a valtozo max
erteke :200");
Serial.print("a valtozo
pillanatnyi erteke: ");
Serial.println(szam);
}
delay(1000);
//változó
minimális
értékének
korlátozása
for(int i=100;i<500;i+=10){
ertek=i;
szam = max(ertek,200);
Serial.println("a valtozo min
erteke :200");
Serial.print("a valtozo
pillanatnyi erteke: ");
Serial.println(szam);
}
while(true);
}
A példa progi bemutatja, hogy ezek a függvények változók értékeinek határolására is alkalmazhatók. Ellentétes módon a min() függvénnyel a változó max értékét állíthatjuk be, a max() függvénnyel pedig a minimális értéket.
constrain(x,a,b)
– szám minimum és
maximum értéke közötti tartományát állítja be.
x: a szám aminek az értéktartományát
korlátozzuk
a: a szám lehetséges legkisebb
értéke
b: a szám lehetséges legnagyobb
értéke
pl.:
szam =
constrains(x,3,22);
ha x kisebb mint 3 akkor a szam értéke
3 lesz.
Ha x 3 és 22 közé esik akkor a szam
értéke x lesz.
Ha x nagyobb mint 22 akkor a szam
értéke 22 lesz.
abs(x)
– a szám
abszolút
értékét
adja.
pl.: szam = abs(x);
ha x = 5 akkor szam = 5
ha x = -4 akkor szam = 4
int szam;
void setup(){
Serial.begin(9600);
}
void loop(){
for(int x=
-10;x<11;x++){
szam = abs(x);
Serial.print(x);
Serial.print("
abszolut erteke:
");
Serial.println(szam);
}
while(true);
}
Már
leírtuk de ide tartozik
a map()
függvény is, frissítésül:
map(szam,x1,y1,x2,y2)
szam: a változó aminek értékeit
konvertálni szeretnénk
x1: szam változó minimum értéke
konvertálás előtt
y1: szam változó maximum értéke
konvertálás előtt
x2: az új értéktartomány minimum
értéke
y2: az új tartomány maximum értéke
a map függvény átalakítja a szam változó x1-y1 közötti értékeit arányosan x2-y2 közötti értékekké.
pow(szam,hatvány) – számok hatványozására használják.
pl.:ertek
=
pow(szam,kitevo);
szam: az alap szám amit hatványozni
szeretnénk
kitevo: az érték ahányszor önmagával
szorzódik a szám(hatványozódik).
A visszatérési érték double
típusú.(ertek változó)
sqrt(x)
– x szám négyzetgyökét
adja.
A visszatérési érték itt is double.
Erre egy bemutató program:
double
hatvany,gyok;
void setup(){
Serial.begin(9600);
}
void loop(){
Serial.println(" ketto
hatvanyai");
for(int i=0;i<11;i++){
hatvany = pow(2,i);
Serial.print(i);
Serial.print(". hatvany: ");
Serial.println(hatvany);
}
Serial.println("szamok
negyzetgyokei");
for(int i=50;i>0;i--){
gyok = sqrt(i);
Serial.print(i);
Serial.print(" negyzetgyoke: ");
Serial.println(gyok);
}
while(true);
}
Evvel lezártuk a matematikai
függvényeket, a trigonometriai függvényekről majd egy másik részben.