LabVIEWForum.de - Schnittpunkt im XY Graphen anzeigen

LabVIEWForum.de

Normale Version: Schnittpunkt im XY Graphen anzeigen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
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
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…
sorry ist nun im Beitrag aktualisiert.
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
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…
OK. Hättest du den eine kleine Hilfe wie ich das ganze umstellen könnte. Ich stehe so ein bisschen auf dem Schlauch Blink
Hier eine Version, die bei identischen x-Werten (wenn auch nicht immer) funzt:
[attachment=54297]
Gruß, Jens
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…
Referenz-URLs