Matematikai függvények
A TapHome szkript matematikai függvényei — MIN, MAX, AVG és ezek STRICT változatai, ABS, SIGN, SQRT, POWER, MOD, LOG, LN és DEWPOINT.
Függvények értékek összesítésére és alapvető aritmetikára. A ROUND, CEIL, FLOOR, RAND és RANDINT a Kerekítés és véletlenszámok oldalon található. Az olyan operátorok, mint a +, -, * és /, az Operátorok oldalon találhatók; % és ** operátor nincs — használd a MOD és a POWER függvényt.
MIN
A MIN a megadott értékek közül a legkisebbet adja vissza, az ismeretlen értékeket (Null és NaN) kihagyja.
| |
Paraméterek — 1–100 érték, vagy pontosan egy gyűjtemény. Az értékeknek nem kell számnak lenniük, de egymással összehasonlíthatónak kell lenniük, például datetime értékek.
Visszatérési érték — a legkisebb ismert érték. Ha egyik érték sem ismert, az eredmény NaN (Null, ha minden bemenet Null).
Példa
MIN(40, 80, NaN);
# Result: 40
MIN({1, NaN, 3});
# Result: 1
VAR d1 := DATETIME(2014, 12, 8, 0, 0, 0, 0, DateTimeKind.Utc);
VAR d2 := DATETIME(2015, 12, 8, 0, 0, 0, 0, DateTimeKind.Utc);
MIN(d1, d2);
# Result: the value of d1Hibák — Collection is empty üres gyűjtemény esetén.
MINSTRICT
A MINSTRICT a megadott értékek közül a legkisebbet adja vissza, de amint ismeretlen értékre (Null vagy NaN) talál, inkább azt adja vissza — akkor használd, ha egyetlen hiányzó bemenetnek a teljes eredményt érvénytelenítenie kell.
| |
Példa
MINSTRICT(40, 80);
# Result: 40
MINSTRICT(80, NaN);
# Result: NaN
MINSTRICT({1, NaN, 3});
# Result: NaNAz argumentumok és a hibák ugyanazok, mint a MIN esetén.
MAX
A MAX a megadott értékek közül a legnagyobbat adja vissza, az ismeretlen értékeket (Null és NaN) kihagyja; ugyanazokat az argumentumokat fogadja, mint a MIN.
| |
Példa
MAX(40, 80, NaN);
# Result: 80
MAX({1, NaN, 3});
# Result: 3MAXSTRICT
A MAXSTRICT a megadott értékek közül a legnagyobbat adja vissza, vagy az első ismeretlen értéket (Null vagy NaN), amelyre talál.
| |
Példa
MAXSTRICT(2, 2, 6);
# Result: 6
MAXSTRICT({1, NaN, 3});
# Result: NaNAVG
Az AVG a megadott értékek számtani átlagát adja vissza double típusként, a Null és a NaN értékeket kihagyja.
| |
Visszatérési érték — double; NaN, ha egyik érték sem ismert. A karakterek átlaga a karakterkódjaik alapján számítódik, ezért az AVG('a', 'c') eredménye a 98-as szám, nem a 'b' karakter.
Példa
AVG(40, 80, NaN);
# Result: 60
AVG({1, NaN, 3});
# Result: 2
AVG('a', 'c');
# Result: 98AVGSTRICT
Az AVGSTRICT a megadott értékek számtani átlagát adja vissza, vagy NaN értéket, amint valamelyikük NaN.
| |
Visszatérési érték — double. A Null bemenet futásidejű hibát okoz, nem kihagyott érték.
Példa
AVGSTRICT(40, 80);
# Result: 60
AVGSTRICT(80, NaN);
# Result: NaNABS
Az ABS egy szám abszolút értékét adja vissza double típusként.
ABS(-100);
# Result: 100SIGN
A SIGN negatív számra -1, nullára 0, pozitív számra 1 értéket ad vissza, int típusként.
SIGN(-22.5);
# Result: -1SQRT
Az SQRT egy 0 vagy nagyobb szám négyzetgyökét adja vissza.
SQRT(25);
# Result: 5Hibák — Argument for SQRT cannot be less than 0.
POWER
A POWER egy számot a megadott kitevőre emel; a kitevő lehet negatív vagy tört is.
| |
Példa
POWER(2, 3);
# Result: 8
POWER(10, -3);
# Result: 0.001
POWER(25, 0.5);
# Result: 5MOD
A MOD az egyik szám a másikkal való osztásának maradékát adja vissza; tizedes számokkal is működik.
| |
Visszatérési érték — double az osztandó előjelével, így negatív osztandó negatív maradékot ad (az Excel MOD függvényétől eltérően). A 0 osztó NaN eredményt ad, nem hibát.
Példa
MOD(6, 4);
# Result: 2
MOD(6, 2.5);
# Result: 1
MOD(-7, 3);
# Result: -1LOG
A LOG egy pozitív szám logaritmusát adja vissza a megadott alapon, vagy 10-es alapon, ha az alapot elhagyod.
| |
Példa
LOG(100);
# Result: 2
LOG(4, 0.5);
# Result: -2Hibák — Arguments for LOG cannot be less or equal to 0; Second argument for LOG cannot be less or equal to 0 or 1.
LN
Az LN egy pozitív szám természetes (e alapú) logaritmusát adja vissza.
LN(100);
# Result: 4.605 (rounded)Hibák — Argument for LN cannot be less or equal to 0.
DEWPOINT
A DEWPOINT a harmatpontot adja vissza °C-ban a levegő °C-ban megadott hőmérsékletéből és a 0 és 1 közötti törtként megadott relatív páratartalomból (a 0.5 50 %-ot jelent).
| |
Visszatérési érték — double, a Magnus-képlettel számítva (egyenlet). Ha egy argumentum egyáltalán nem szám (például Null vagy szöveg), az eredmény -40.
Példa
DEWPOINT(20, 0.5);
# Result: 9.26 (rounded)
DEWPOINT(0, 1);
# Result: 0A páratartalmat törtként add meg. A
DEWPOINT(20, 50)hibaüzenet nélkül 103.17-et ad vissza, ami értelmetlen érték. A százalékban megadott páratartalmat, például egy Modbus regiszterből olvasott nyers értéket, előbb el kell osztani 100-zal.