Start · Sprachen · PHP · Referenz · trader_cosh

trader_cosh

Funktion

Berechnet den hyperbolischen Kosinus (<code>cosh</code>) für jeden Wert eines Arrays (Vektors) aus reellen Zahlen.

Kategorie: math

Signatur

trader_cosh(array $real): array|false

Beschreibung

trader_cosh ist Teil der TRADER-Erweiterung (Technical Analysis for Traders) und wendet die mathematische Funktion des hyperbolischen Kosinus elementweise auf ein Array von reellen Zahlen an. Das Ergebnis ist ein neues Array, das für jeden Eingabewert x den Wert cosh(x) = (e^x + e^(-x)) / 2 enthält.

Die Funktion ist vor allem in der technischen Finanzanalyse und im Bereich der Signalverarbeitung nützlich, wenn transformierte Zeitreihendaten benötigt werden. Sie entspricht im Wesentlichen der PHP-Standardfunktion cosh(), arbeitet jedoch effizient auf ganzen Datenvektoren (Arrays) statt auf einzelnen Skalaren.

Das Eingabe-Array sollte ausschließlich numerische Gleitkommawerte enthalten. Die TRADER-Erweiterung basiert intern auf der TA-Lib und liefert konsistente, für Finanzdaten optimierte Berechnungen. Fehlende oder ungültige Werte können dazu führen, dass die Funktion false zurückgibt.

Parameter

Name Typ Default Beschreibung
$real Pflicht array Ein Array von reellen Zahlen (Gleitkommawerte), für die der hyperbolische Kosinus berechnet werden soll. Typischerweise handelt es sich um eine Zeitreihe von Kursdaten oder anderen numerischen Messwerten.

Rückgabewert

Typ
array|false
Beschreibung
Gibt ein Array zurück, das für jeden Eingabewert den entsprechenden cosh-Wert enthält. Bei einem Fehler (z. B. ungültige Eingabe oder interner TA-Lib-Fehler) wird false zurückgegeben.

Beispiele

Hyperbolischen Kosinus eines Datenvektors berechnen

<?php
// Voraussetzung: TRADER-Erweiterung ist installiert und aktiviert
$real = [0.0, 1.0, -1.0, 2.0, -2.0];

$result = trader_cosh($real);

if ($result === false) {
    echo 'Fehler bei der Berechnung.';
} else {
    foreach ($result as $index => $value) {
        printf("cosh(%.1f) = %.6f\n", $real[$index], $value);
    }
}
cosh(0.0) = 1.000000 cosh(1.0) = 1.543081 cosh(-1.0) = 1.543081 cosh(2.0) = 3.762196 cosh(-2.0) = 3.762196

Anwendung auf eine Zeitreihe von Schlusskursen

<?php
// Schlusskurse einer Aktie (normalisiert oder logarithmiert)
$closePrices = [0.5, 1.2, -0.3, 0.8, 1.5, -0.1];

$coshValues = trader_cosh($closePrices);

if ($coshValues !== false) {
    echo "Transformierte Werte (cosh):\n";
    print_r($coshValues);
} else {
    echo 'Berechnung fehlgeschlagen.';
}
Transformierte Werte (cosh): Array ( [0] => 1.1276260 [1] => 1.8106556 [2] => 1.0453385 [3] => 1.3374349 [4] => 2.3524096 [5] => 1.0050042 )

// Wichtig · Fallstricke

Voraussetzung: Die TRADER-Erweiterung (pecl install trader) muss installiert und in der php.ini aktiviert sein (extension=trader). Sie ist kein Bestandteil der PHP-Standardinstallation.

Da cosh(x) für große Beträge von x sehr schnell wächst (exponentiell), können bei großen Eingabewerten sehr große Zahlen oder sogar INF entstehen. Dies sollte bei der Vorverarbeitung der Eingabedaten berücksichtigt werden.

Die Indizes des Ergebnis-Arrays entsprechen den Indizes des Eingabe-Arrays, sofern alle Werte gültig sind.