---
title: "Matematikai függvények"
description: "TapHome szkript matematikai függvények: MIN, MAX és AVG a NaN kezelésével és STRICT változatokkal, ABS, SIGN, SQRT, POWER, MOD, LOG, LN és DEWPOINT hőmérsékletből és páratartalomból."
url: "https://taphome.com/hu/docs/script/mathematical-functions/"
language: hu
lastmod: 2026-11-06
generator: hugo
ai:
  topics: ["mathematical-functions","aggregation","rounding","scripting-language"]
  questions: ["Mi a különbség a MIN és a MINSTRICT függvény között?","Hogyan kezeli a TapHome a NaN értékeket a MIN, MAX és AVG függvényekben?","Hogyan számíthatom ki értékek átlagát egy TapHome szkriptben?","Hogyan számíthatom ki a harmatpontot hőmérsékletből és páratartalomból?","Hogyan emelhetek egy számot hatványra, vagy kaphatom meg az osztási maradékot egy TapHome szkriptben?"]
---

# 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.

Utoljára frissítve: 2026-11-06

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](https://taphome.com/hu/docs/script/rounding-and-random/) oldalon található. Az olyan operátorok, mint a `+`, `-`, `*` és `/`, az [Operátorok](https://taphome.com/hu/docs/script/operators/) 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.

```text
MIN(value1, value2, ...)
MIN(collection)
```

**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**

```taphome
# az ismeretlen értékeket kihagyja
MIN(40, 80, NaN);
# Result: 40
# gyűjtemény is megadható
MIN({1, NaN, 3});
# Result: 1
# két datetime érték
VAR d1 := DATETIME(2014, 12, 8, 0, 0, 0, 0, DateTimeKind.Utc);
VAR d2 := DATETIME(2015, 12, 8, 0, 0, 0, 0, DateTimeKind.Utc);
# a két dátum közül a korábbi
MIN(d1, d2);
# Result: the value of d1
```

**Hibá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.

```text
MINSTRICT(value1, value2, ...)
MINSTRICT(collection)
```

**Példa**

```taphome
# minden érték ismert
MINSTRICT(40, 80);
# Result: 40
# a NaN változatlanul visszatér
MINSTRICT(80, NaN);
# Result: NaN
# ugyanez gyűjteményre
MINSTRICT({1, NaN, 3});
# Result: NaN
```

Az argumentumok és a hibák ugyanazok, mint a [MIN](https://taphome.com/hu/docs/script/mathematical-functions/#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](https://taphome.com/hu/docs/script/mathematical-functions/#min).

```text
MAX(value1, value2, ...)
MAX(collection)
```

**Példa**

```taphome
MAX(40, 80, NaN);
# Result: 80
MAX({1, NaN, 3});
# Result: 3
```

## MAXSTRICT

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.

```text
MAXSTRICT(value1, value2, ...)
MAXSTRICT(collection)
```

**Példa**

```taphome
MAXSTRICT(2, 2, 6);
# Result: 6
MAXSTRICT({1, NaN, 3});
# Result: NaN
```

## AVG

Az `AVG` a megadott értékek számtani átlagát adja vissza `double` típusként, a `Null` és a `NaN` értékeket kihagyja.

```text
AVG(value1, value2, ...)
AVG(collection)
```

**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**

```taphome
# a NaN-t kihagyja
AVG(40, 80, NaN);
# Result: 60
# a gyűjtemény átlaga
AVG({1, NaN, 3});
# Result: 2
# a karakterkódok: 97 és 99
AVG('a', 'c');
# Result: 98
```

## AVGSTRICT

Az `AVGSTRICT` a megadott értékek számtani átlagát adja vissza, vagy `NaN` értéket, amint valamelyikük `NaN`.

```text
AVGSTRICT(value1, value2, ...)
AVGSTRICT(collection)
```

**Visszatérési érték** — `double`. A `Null` bemenet futásidejű hibát okoz, nem kihagyott érték.

**Példa**

```taphome
AVGSTRICT(40, 80);
# Result: 60
AVGSTRICT(80, NaN);
# Result: NaN
```

## ABS

Az `ABS` egy szám abszolút értékét adja vissza `double` típusként.

```taphome
ABS(-100);
# Result: 100
```

## SIGN

A `SIGN` negatív számra `-1`, nullára `0`, pozitív számra `1` értéket ad vissza, `int` típusként.

```taphome
SIGN(-22.5);
# Result: -1
```

## SQRT

Az `SQRT` egy 0 vagy nagyobb szám négyzetgyökét adja vissza.

```taphome
SQRT(25);
# Result: 5
```

**Hibá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.

```text
POWER(number, exponent)
```

**Példa**

```taphome
# 2 a harmadikon
POWER(2, 3);
# Result: 8
# negatív kitevő
POWER(10, -3);
# Result: 0.001
# törtkitevő, négyzetgyök
POWER(25, 0.5);
# Result: 5
```

## MOD

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.

```text
MOD(dividend, divisor)
```

**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**

```taphome
# egész számok
MOD(6, 4);
# Result: 2
# tizedes osztó
MOD(6, 2.5);
# Result: 1
# az osztandó előjele
MOD(-7, 3);
# Result: -1
```

## LOG

A `LOG` egy pozitív szám logaritmusát adja vissza a megadott alapon, vagy 10-es alapon, ha az alapot elhagyod.

```text
LOG(number)
LOG(number, base)
```

**Példa**

```taphome
LOG(100);
# Result: 2
LOG(4, 0.5);
# Result: -2
```

**Hibá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.

```taphome
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).

```text
DEWPOINT(temperature, relativeHumidity)
```

**Visszatérési érték** — `double`, a Magnus-képlettel számítva ([egyenlet](http://bmcnoldy.rsmas.miami.edu/Humidity.html)). Ha egy argumentum egyáltalán nem szám (például `Null` vagy szöveg), az eredmény `-40`.

**Példa**

```taphome
DEWPOINT(20, 0.5);
# Result: 9.26 (rounded)
DEWPOINT(0, 1);
# Result: 0
```

> [!WARNING]
> A 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.
