2016-05-12 6 views
0

Ich habe 8 Diagramme, die ich in meinem Matlab-Code implementieren möchte. Diese Plots stammen aus mehreren Forschungsarbeiten, daher muss ich sie zuerst digitalisieren, um sie nutzen zu können. Dies ist im Grunde ein Oberflächendiagramm mit drei verschiedenen Variablen Example plotMATLAB: Digitalisieren eines Diagramms mit mehreren Variablen und Implementieren der Daten

:

Ein Beispiel für eine Parzelle ist unten gezeigt. Ich weiß, wie man ein normales Diagramm mit nur X- und Y-Koordinaten digitalisiert. Wie aber würde man einen Graphen so digitalisieren? Ich bin mir daher ziemlich unsicher, daher die Frage.

Auch, wenn ich in der Lage wäre, die Daten von diesem Diagramm zu erhalten. Wie können Sie es in Ihrem Code verwenden? Vielleicht mit etwas Interpolation und Extrapolation zwischen den gegebenen Datenpunkten?

Alle Tipps zu diesem Thema sind willkommen.

Vielen Dank im Voraus

Antwort

0

Hier ist, was würde ich vorschlagen:

  1. das Bild in Matlab Lesen imread verwenden.
  2. Manuelles Finden der Pixelposition der linken unteren Ecke und der oberen rechten Ecke
  3. Mit diesen Pixelwerten und dem tatsächlichen numerischen Wert ist es einfach, den x- und y-Wert jedes Pixels zu bestimmen. Ich schlage vor, Sie verwenden meshgrid.
  4. Wissen, dass die Kurven in schwarz sind, dann entfernen Sie alle nicht-schwarzen Pixel aus dem Bild, die Sie nur mit den Kurven und den Zahlen verlassen.
  5. Verwenden Sie dann die Funktion bwareaopen, um die kleinen Objekte (die Zahlen) zu entfernen. Vergessen Sie nicht, das Bild umzukehren, um das Schwarz anstelle des Weiß zu entfernen.
  6. Schließlich können Sie mithilfe von Punkt 3 und dem Ergebnis von Punkt 6 die Daten des Diagramms manuell extrahieren. Es wird nicht einfach sein, aber es wird machbar sein.
0

Sie werden die Daten für die drei Variablen benötigen, um ein Grundstück in Matlab zu erstellen, die Sie entweder aus der bisherigen Forschung oder durch Schätzung und Interpolation von Werten aus dem Grundstück zu bekommen. Sobald Sie die Daten erhalten haben, gibt es zwei Funktionen, die Sie verwenden können, um Oberflächenplots, surface und Surf zu machen, Surf ist so ziemlich das Gleiche wie Oberfläche, aber beinhaltet Schattierung.

Für die Interpolation und Extrapolation klingt es so, als ob Sie die 2D-Interpolation, interp2, auschecken möchten. Die interp2-Funktion kann auch eine Extrapolation durchführen.

Sie sollten die Dokumentation für diese Funktionen lesen und dann mit spezifischen Problemen zurückgeben, wenn Sie welche haben.

Verwandte Themen