LabVIEWForum.de
Schnittpunkt im XY Graphen anzeigen - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Signaldarstellung (/Forum-Signaldarstellung)
+---- Thema: Schnittpunkt im XY Graphen anzeigen (/Thread-Schnittpunkt-im-XY-Graphen-anzeigen)



Schnittpunkt im XY Graphen anzeigen - Dany83 - 14.10.2015 13:19

Hallo ich habe folgendes Problem. Da mir ja in der Vergangenheit hier recht gut geholfen wurde Big Grin

Ich habe wie im Schnittpunkt VI zu sehen 2 x X & Y Werte. Das ganze wird in einem Graphen angezeigt. Die beiden Graphen schneiden sich auch an einem Punkt.

Was ich suche ist der Schnittpunkt der beiden Graphen.

Dazu gab es im Forum auch schon mal ein Beipiel. Nur leider zeigt es nicht die richten Werte an nachdem ich es für meine Zwecke etwas umgebaut habe.

Hat jemand da eine Idee für mich.....??



P.s. Nun sollte es hoffentlich gehen Big Grin


RE: Schnittpunkt im XY Graphen anzeigen - GerdW - 14.10.2015 13:28

Hallo Dany,

wenn du dein VI nochmal speichern würdest, aber dann mit ein paar vernünftigen Default-Werten in den Array-Controls!?

Dann könnte man sich auch deine Signalverläufe anschauen…


RE: Schnittpunkt im XY Graphen anzeigen - Dany83 - 14.10.2015 13:47

sorry ist nun im Beitrag aktualisiert.


RE: Schnittpunkt im XY Graphen anzeigen - jg - 14.10.2015 13:55

Du suchst du gar nicht mehr nach dem Schnittpunkt...
Wenn deine beiden Plots dieselben x-Werte hätten, dann wäre der Schnittpunkt derjenige Punkt, an der die Differenz "y2-y1" das Vorzeichen wechselt. Aber das ist in deinem VI nirgends vorhanden.
Und da wunderst du dich?

Gruß, Jens


RE: Schnittpunkt im XY Graphen anzeigen - GerdW - 14.10.2015 14:03

Hallo Dany,

Zitat:Nur leider zeigt es nicht die richten Werte an nachdem ich es für meine Zwecke etwas umgebaut habe.
Vielleicht solltest du dann die Originalversion verwenden, wenn es nach deinem Umbau nicht mehr funktioniert? Big Grin

Im Ernst:
Stell die Plotdarstellung mal für beide Plots auf "Punkt+Linie", dann wird vielleicht klarer, was ich meine.
Du willst wissen, wann Plot0 den Plot1 schneidet. Dazu musst du:
- je zwei benachbarte Punkte aus Plot1 nehmen und deren X-Werte holen.
- Zu den X-Werten suchst du den Punkt in Plot0, der dazwischen liegt.
- Dann schaust du, ob der Y-Wert von Plot0 größer oder kleiner ist als die Y-Werte der beiden Punkte aus Plot1.
- Dies wiederholst du solange, bis du den Schnittpunkt eingegrenzt hast.

Jetzt hast du pro Plot je zwei Punkte, je einen vor und nach dem Schnittpunkt. Damit kannst du dann jeweils die Geradengleichung bestimmen (y=mx+b) und dann mit sehr simpler Mathematik (Klasse 7 oder 8?) den Schnittpunkt zweier Geraden berechnen.

Wenn Plot1 eine Gerade ist, vereinfacht sich das ganze (allgemein gehaltene) Verfahren darauf, die Punkte von Plot0 mit der Geradengleichung von Plot1 zu vergleichen…


RE: Schnittpunkt im XY Graphen anzeigen - Dany83 - 14.10.2015 14:10

OK. Hättest du den eine kleine Hilfe wie ich das ganze umstellen könnte. Ich stehe so ein bisschen auf dem Schlauch Blink


RE: Schnittpunkt im XY Graphen anzeigen - jg - 14.10.2015 14:18

Hier eine Version, die bei identischen x-Werten (wenn auch nicht immer) funzt:
[attachment=54297]
Gruß, Jens


RE: Schnittpunkt im XY Graphen anzeigen - GerdW - 14.10.2015 14:37

Hallo Dany,

Zitat: Hättest du den eine kleine Hilfe wie ich das ganze umstellen könnte.
Ja.
Hier:

Zitat:- je zwei benachbarte Punkte aus Plot1 nehmen und deren X-Werte holen.
Eine Schleife, in der du mittels IndexArray jeweils zwei X-Werte von Plot1 holst...

Zitat:- Zu den X-Werten suchst du den Punkt in Plot0, der dazwischen liegt.
Das kann man mit 1DSchwellwert erledigen.

Zitat:- Dann schaust du, ob der Y-Wert von Plot0 größer oder kleiner ist als die Y-Werte der beiden Punkte aus Plot1.
Du hast im Schritt zuvor einen Index bestimmt: mit IndexArray die passenden Y-Werte lesen.
Wie ein Vergleich funktioniert, solltest du allein wissen.

Zitat:- Dies wiederholst du solange, bis du den Schnittpunkt eingegrenzt hast.
Da sind wir jetzt wieder am Ende der Schleife angelangt, die schon beim ersten Punkt erwähnt wurde…