MATLAB Answers

Schnittpunkt einer Geraden mit einem plot aus einer sehr großen Wertetabelle ermitteln

15 ビュー (過去 30 日間)
Nordseeküste
Nordseeküste 2020 年 9 月 2 日
Hallo liebe Community,
ich habe eine Frage zu meinem Matlab Skript. Ich möchte die Entfernung von einem (mir bekannten) Punkt in der Nordsee in eine bestimmte Richtung (Windrichtung) zur Nordseeküste ermitteln. Dazu habe ich eine Geradengleichung aufgestellt, die durch den Punkt in der Nordsee läuft und die Steigung der gewünschten Richtung hat. Mit dem Befehl geoplot habe ich auch die Silhouette der Nordseeküste, jedoch kann ich den Schnittpunkt mit dieser nicht ermitteln (oder geht das doch?). Deshalb habe ich mir in mühsamer Arbeit ~950 Koordinatenpaare rausgeschrieben, um die Nordseeküste nachzubilden. Wenn ich mir diese Werte dann mit plot mit einer geraden Linie zwischen den einzelnen Punkten anzeigen lasse, sieht das auch sehr gut aus. Jedoch kann ich keine Schnittpunkte ermitteln, wenn die Werte aus meiner Wertetabelle nicht genau von der Geraden getroffen werden. Die Wertetabelle ist auch leider so aufgebaut, dass curve fitting oder interp1 nicht funktionieren, da einige x-Werte mehrfach vorkommen.
Ich hatte mal versucht, die Ostfrisischen Inseln durch eine einzige Gerade anzunähern und dann den Schnittpunkt auszurechnen, das hat auch sehr gut funktioniert, ist aber in Richtung Osten nur etwa bis Wangerooge genau genug. Dabei habe ich meine x-werte sehr genau definiert und dann y1-y2 gerechnet und den y- und x-Wert an der Stelle ermittelt, wo die Subtraktion den kleinsten Wert angenommen hat. Das hat auch funktioniert, aber jetzt komme ich in der Bucht von Wilhelmshaven/Bremerhaven und den Nordfrisischen Inseln nicht weiter. Daher wende ich mich an euch, in der Hoffnung, dass es eine allgemeine Lösung mit meiner großen Wertetabelle gibt.
Vielen Dank schon einmal im voraus!
MFG
Nordseeküste

  0 件のコメント

サインインしてコメントする。

回答 (0 件)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!