FC_FourierPartialSum

 

FC_FourierPartialSum - Allgemeine Informationen

Übersicht

Typ

Funktion

Verfügbar ab:

V1.0.3.0

Versionen:

Aktuelle Version

Aufgabe

Berechnung einer Fourier-Partialsumme.

Beschreibung

Berechnet den Wert einer endlichen Fourier-Partialsumme. Die Voraussetzung hierfür ist, dass zuvor die Fourier-Koeffizienten bis zu einem hinreichend großen Index mit der Funktion FC_FourierCoefficients berechnet wurden.

Die Fourier-Partialsumme zur Funktion f  bis zum Index N  hat folgende Gestalt (zur Definition der Fourier-Koeffizienten siehe FC_FourierCoefficients):

G-SE-0068556.1.gif-high.gif

 

 

Unter geeigneten Voraussetzungen für die Funktion f approximiert Sf, N diese für hinreichend großes N beliebig gut.

Schnittstelle

Eingang

Datentyp

Beschreibung

i_lrXPeriod

LREAL

Periode der Funktion / Länge des Definitionsbereichs

i_diMaxIndex

DINT

Index, bis zu dem die Fourier-Partialsumme berechnet werden soll (oben benannt als N ). Die Fourier-Koeffizienten müssen zuvor mindestens bis zu diesem Index mit der Funktion FC_FourierCoefficients berechnet worden sein.

i_plrFourierCoefficientsA

POINTER TO LREAL

Zeiger auf Beginn des Arrays mit Fourier-Koeffizienten A, die zuvor mit der Funktion FC_FourierCoefficients berechnet wurden.

i_plrFourierCoefficientsB

POINTER TO LREAL

Zeiger auf Beginn des Arrays mit Fourier-Koeffizienten B, die zuvor mit der Funktion FC_FourierCoefficients berechnet wurden.

i_lrXValue

LREAL

X-Wert, für den die Fourrier-Partialsumme berechnet werden soll.

Ausgang

Datentyp

Beschreibung

q_etDiag

GD.ET_Diag

Allgemeingültige, bibliotheksunabhängige Aussage zur Diagnose.

Ein Wert ungleich ET_Diag.Ok entspricht einer Diagnosemeldung.

q_etDiagExt

ET_DiagExt

POU-spezifischer, diagnosebezogener Ausgang.

q_etDiag = ET_Diag.Ok -> Statusmeldung

q_etDiag <> ET_Diag.Ok -> Diagnosemeldung

q_lrFourierPartialSum

LREAL

Berechneter Wert der Fourier-Partialsumme an der Stelle i_lrXValue.

Diagnosemeldungen

q_etDiag

q_etDiagExt

Enumerationswert

Beschreibung

OK

Ok

0

OK

InputParameterInvalid

MaxIndexRange

61

MaxIndex ist außerhalb des gültigen Bereichs.

InputParameterInvalid

PointerFourierCoefficientsAInvalid

62

Der Zeiger VourierCoefficientsA ist ungültig.

InputParameterInvalid

PointerFourierCoefficientsBInvalid

63

Der Zeiger VourierCoefficientsB ist ungültig.

InputParameterInvalid

XPeriodRange

58

XPeriod ist außerhalb des gültigen Bereichs.

MaxIndexRange

Enumerationsname:

MaxIndexRange

Enumerationswert:

61

Beschreibung:

MaxIndex ist außerhalb des gültigen Bereichs.

Problem

Ursache

Lösung

-

Am Eingang i_diMaxIndex wurde ein ungültiger Wert angelegt.

Dem Eingang i_diMaxIndex muss ein Wert größer oder gleich 0 übergeben werden.

Ok

Enumerationsname:

Ok

Enumerationswert:

0

Beschreibung:

OK

Die Partialsumme wurde erfolgreich berechnet.

PointerFourierCoefficientsAInvalid

Enumerationsname:

PointerFourierCoefficientsAInvalid

Enumerationswert:

62

Beschreibung:

Der Zeiger VourierCoefficientsA ist ungültig.

Problem

Ursache

Lösung

-

Am Eingang i_plrFourierCoefficientsA wurde ein ungültiger Wert angelegt.

Dem Eingang i_plrFourierCoefficientsA, muss ein Wert ungleich 0 übergeben werden.

PointerFourierCoefficientsBInvalid

Enumerationsname:

PointerFourierCoefficientsBInvalid

Enumerationswert:

63

Beschreibung:

Der Zeiger VourierCoefficientsB ist ungültig.

Problem

Ursache

Lösung

-

Am Eingang i_plrFourierCoefficientsB wurde ein ungültiger Wert angelegt.

Dem Eingang i_plrFourierCoefficientsB muss ein Wert ungleich 0 übergeben werden.

XPeriodRange

Enumerationsname:

XPeriodRange

Enumerationswert:

58

Beschreibung:

XPeriod ist außerhalb des gültigen Bereichs.

Problem

Ursache

Lösung

-

Am Eingang i_lrXPeriod wurde eine Zahl kleiner als Gc_lrZeroTolerance angelegt.

i_lrXPeriod muss größer sein als 0.