Start · Sprachen · PHP · Referenz · trader_cos

trader_cos

Funktion

Berechnet elementweise den Kosinus jedes Wertes eines Eingabe-Arrays (Vektors).

Kategorie: math

Signatur

trader_cos(array $real): array|false

Beschreibung

trader_cos ist Teil der TRADER-Erweiterung (Technical Analysis for Traders) und berechnet für jeden Wert im übergebenen Zahlen-Array den Kosinus. Das Ergebnis ist ein gleichlang indiziertes Array mit den Kosinus-Werten, wobei die Eingabewerte in Bogenmaß (Radiant) erwartet werden.

Die Funktion ist nützlich, wenn auf Zeitreihen- oder Kursdaten trigonometrische Transformationen angewendet werden sollen, z. B. im Rahmen von Signalverarbeitung, zyklischer Analyse oder bei der Implementierung von Handelsstrategien, die auf harmonischen Mustern basieren.

Da die Funktion vektorbasiert arbeitet, ist sie effizienter als eine manuelle Schleife mit cos() über ein Array. Der Rückgabewert ist ein Array mit denselben Indizes wie das Eingabe-Array; fehlende oder ungültige Werte können dazu führen, dass false zurückgegeben wird.

Die TRADER-Erweiterung muss separat installiert und in der PHP-Konfiguration aktiviert sein (PECL-Paket trader).

Parameter

Name Typ Default Beschreibung
$real Pflicht array Ein numerisches Array mit Gleitkommazahlen in Bogenmaß (Radiant), für die der Kosinus berechnet werden soll. Typischerweise eine Zeitreihe von Kursdaten oder vorberechneten Winkelwerten.

Rückgabewert

Typ
array|false
Beschreibung
Gibt ein Array mit den Kosinus-Werten (als float) für jeden Eingabewert zurück. Die Indizes des Rückgabe-Arrays entsprechen denen des Eingabe-Arrays. Bei einem Fehler oder ungültigem Eingabe-Array wird false zurückgegeben.

Beispiele

Kosinus eines einfachen Zahlen-Arrays berechnen

<?php
// TRADER-Erweiterung muss installiert sein (pecl install trader)
$werte = [0.0, M_PI / 6, M_PI / 4, M_PI / 3, M_PI / 2, M_PI];

$ergebnis = trader_cos($werte);

if ($ergebnis === false) {
    echo 'Fehler bei der Berechnung.';
} else {
    foreach ($ergebnis as $index => $kosinus) {
        printf("cos(%.4f) = %.4f\n", $werte[$index], $kosinus);
    }
}
cos(0.0000) = 1.0000 cos(0.5236) = 0.8660 cos(0.7854) = 0.7071 cos(1.0472) = 0.5000 cos(1.5708) = 0.0000 cos(3.1416) = -1.0000

Anwendung auf eine Kurszeitreihe (Winkelumwandlung)

<?php
// Simulierte Kurswerte in Grad, umgewandelt in Radiant
$kurse_grad = [0, 30, 60, 90, 120, 150, 180, 270, 360];

// Umrechnung von Grad in Radiant
$kurse_rad = array_map(fn($grad) => deg2rad($grad), $kurse_grad);

$kosinus_werte = trader_cos($kurse_rad);

if ($kosinus_werte !== false) {
    foreach ($kosinus_werte as $i => $val) {
        printf("%3d°  => cos = %6.3f\n", $kurse_grad[$i], $val);
    }
} else {
    echo 'Berechnung fehlgeschlagen.';
}
0° => cos = 1.000 30° => cos = 0.866 60° => cos = 0.500 90° => cos = 0.000 120° => cos = -0.500 150° => cos = -0.866 180° => cos = -1.000 270° => cos = 0.000 360° => cos = 1.000

// Wichtig · Fallstricke

Installation: Die TRADER-Erweiterung ist nicht im PHP-Kern enthalten und muss über PECL installiert werden (pecl install trader). Anschließend muss extension=trader in der php.ini aktiviert werden.

Eingabe in Radiant: Die Funktion erwartet Winkelwerte in Bogenmaß (Radiant), nicht in Grad. Für Grad-Werte muss vorher deg2rad() angewendet werden.

Leeres Array: Bei einem leeren oder nicht-numerischen Eingabe-Array gibt die Funktion false zurück. Eine vorherige Validierung der Eingabedaten wird empfohlen.