LabVIEWForum.de
Rekursion - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Rekursion (/Thread-Rekursion)



Rekursion - Oezguer.Dueduekcue - 04.04.2021 13:58

Hallo zusammen,

ich scheitere gerade an der Umsetzung an einer Rekursion.
Es geht dabei um die Umsetzung der Mie-Streuung in LabView. Hierzu muss eine rekursive Formel umgesetzt werden:

Phi_n=Phi_(n-2) - n/x *Phi_(n-1)
Hierbei ist n der aktuelle Index der Schleife und x eine Konstante. Da gibt es die Besselfunktion, die die gleiche Rekursion beinhaltet, aber es ist schwer das VI nachzuvollziehen. Hat jemand einen Tipp, wie man so etwas umsetzen kann? Vielen Dank schon einmal.

Liebe Grüße
Öz


RE: Rekursion - BNT - 04.04.2021 14:18

Rekursiv Algorithmen kann man in LaVIEW implemetieren, indem das SubVI, den Algorithmus implementiert, reentrant setzt. Dieses SubVI muss dann vom Caller-VI mit Hilfe der VI-Server-Methoden aufgerufen werden.

VI-Server kann vermieden werden, wenn das SubVI als Methode einer Klasse implementiert wird. Reentrant SubVI können direkt rekursiv aufgerufen werden.

Ich glaube es gibt anschauliche Beispiel zum Thema Fakultät im Netz.

Gruß Holger


RE: Rekursion - Lucki - 07.04.2021 10:17

Das "Anschauliche Beispiel im Netz zum Thema Fakultät" benötigt zur Berechnung von 65! (mehr geht nicht) 0.25sec.
Bei Berechnung in einer for-Schleife dauert es nur 1.6 Mikrosekunden, und es ist ganz einfach.
Ich kann hier keinen Grund erkennen, warum Du die Berechnung unbedingt rekursiv machen willst.
Was Du zusätzlich brauchst, sind die Werte Phi(0) und Phi(1). Aber die brauchst Du in jedem Fall.
[attachment=61751]


RE: Rekursion - Oezguer.Dueduekcue - 01.05.2021 10:58

Vielen Dank für die Hilfe! Hat funktioniert.

Liebe Grüße