Hallo
nachdem ich beim ersten Mal so wenig Feedback bekommen habe versuche ich mein Problem nochmals ausführlicher zu schildern. Vielleicht kann mir so jemand Helfen.
Ich Versuche ein Programm zu schreiben das Herzschläge analysiert. Sprich es soll das Auswurfsvolumen, das Schlussvolumen und das Leckvolumen bestimmt werden. Um diese Werte zu ermitteln sind 5 Punkte nötig. 4 Davon sind direkt auf der Volumenkurve zu finden der 5te wird durch die Drücke bestimmt. Was bedeutet er kommt aus einem anderen Datensatz parallel zum Volumen aufgenommen. Aber damit gibt es auch keine Probleme.
Um mit der Analyse zu beginnen habe ich mir gedacht es ist am einfachsten, wenn man mit der Suche nach dem Maximum des Auswurfsvolumens sucht (in der Datei mit Schwellwertanalyse gelöst. --> wenn true dann speichere Position (des Wertes) in Arry und erhöhe Caseabfrage von 1 auf 2). Als nächstes wird nach dem folgenden Nulldurchgang gesucht. (gelöst mit NulldurchgangVi -->wenn true dann speichere Position (des Wertes) in Arry und erhöhe Caseabfrage von 2 auf 3). Danach muss nach dem nächsten Minimum gesucht werden ("gelöst" mit DifferenzialVi --> wenn true dann speichere Position (des Wertes) in Arry und erhöhe Caseabfrage von 3 auf 4). Der letzte zu suchende Punkt ist abhängig von der Herzklappe die benutzt wird (biologisch oder mechanisch). Dort muss entweder nach einem neuen Nulldurchgang gesucht werden oder nach einem Maximum (gelöst" mit DifferenzialVi oder Nulldurchgang --> wenn true dann speichere Position in Arry und setze Caseabfrage von 4 auf 1). --> jetzt Schleife weil jetzt mindestens 5 Wiederholungen
Mein Problem: Ich würde gern das DifferenzialVi benutzten aber es arbeitet nicht in einer Schleife. Der erste Durchgang klappt wunderbar aber der zweite eben nicht. Siehe Beispieldatensatz: grün korrekt -- rot falsch
Benutze ich statt dem DifferenzialVi ein Min-MaxVi läuft das Programm korrekt aber die Positionen und damit auch die Werte
sind nicht mit ausreichender Genauigkeit gefunden (mangelhaft).
Frage: Wer kennt sich mit dem DifferenzialVi aus und kann mir Helfen das es in einer While-
Schleife läuft?
Beispieldatensatz: Achtung: Die Werte sind die Positionsangaben wo der Wert auf der x-Achse * delta(t) zu finden ist nicht die Messwerte
selber!!!
9 (Auswurfvolumen Max)
106 (Nulld. von Ausw. nach Schlussvolumen)
129 (Min Schlussvolumen Differenzialvi)
139 (kleines Max Differenzialvi)
469 (Auswurfvolumen Max)
580 (Nulld. von Ausw. nach Schlussvolumen)
581 (sollte Min von Schlussvolumen sein Differenzialvi)
582 (sollte kleines Max sein Differenzialvi)
941 (Auswurfvolumen Max)
1049 (Nulld. von Ausw. nach Schlussvolumen)
1050 (sollte Minima Schlussvolumen sein Differenzialvi)
1051 (sollte kleines Max sein Differenzialvi)
1414 (Auswurfvolumen Max)
Volumensuche_V8_0_Volumen_Caseabfrage.vi (Größe: 50,09 KB / Downloads: 218)
SJM030117__017.txt (Größe: 96,09 KB / Downloads: 464)
Achtung der Name der Datei hat sich gegenüber dem Programm geändert.
Kopi