Interpolation zwischen zwei Kurven (matlab)

Ok, Jungs. Ich habe Folgendes problem:

Habe ich die Daten von der folgenden Handlung.
Interpolation zwischen zwei Kurven (matlab)

So dass die Daten-Datei von dieser plot enthält drei Spalten.
Die 2. und 3. diejenigen, die die x -, y-Punkte. Und der 1. eines ist, welches system diese Punkte gehören.
In diesem Fall die roten sind für das system von 20 Jahren. Die blauen für die 30 Jahre.

Was ich will, zu finden ist die Kurve bei 25 Jahren. Also, wenn ich das Grundstück es sein sollte zwischen den roten und blauen Kurven.

Ich habe keine Ahnung, wie interpolieren Sie die Daten, um zu erhalten, was ich will. Eigentlich möchte ich haben für 21,22,...29 Jahre, ich denke, wenn wir es finden können, für eine Zeit, in der zwischen diesen beiden, dann die Methode sollte funktionieren für alle Zeit zwischen 20 und 30.

PS: ich denke, die interpolation für jede Kurve (in diesem Fall rot oder blau) ist ganz einfach. Einfach mit interp1(x,y,xx) funktioniert. Aber was passiert mit den anderen "dimension" (M)

Daten.

20.0000    3.4076         0
20.0000    3.4226   99.5405
20.0000    3.4701  196.3360
20.0000    3.5592  287.0781
20.0000    3.6248  328.8516
20.0000    3.6643  348.3373
20.0000    3.7091  367.2823
20.0000    3.7591  385.4784
20.0000    3.8077  402.7170
20.0000    3.8957  437.5221
20.0000    4.0314  506.9907
30.0000    3.6335         0
30.0000    3.6373   49.8884
30.0000    3.6488   99.5405
30.0000    3.6685  148.5936
30.0000    3.7363  243.2204
30.0000    3.7876  287.7398
30.0000    3.8537  329.6097
30.0000    3.8935  349.9452
30.0000    3.9384  368.9776
30.0000    3.9892  387.2576
30.0000    4.0410  404.5759
30.0000    4.1350  439.5416
30.0000    4.2153  474.2420
30.0000    4.2813  509.3309
  • Was sind deine Daten-Spalten ? Sie definieren eine Oberfläche (3D-Objekte, die die Spalten repräsentieren die x -, y-und z-Koordinate) oder einfach eine Reihe von entkoppelten Daten Spalten mit der ersten Spalte als X-Koordinate ?
  • Naja, eigentlich das 2. und 3. Spalten sind die, die Definition eines üblichen x-Y-Ebene ((x,y) Punkte). Und die erste Spalte ist eigentlich das "system" diese (x,y) Punkte gehört. Aber ist ziemlich einfach, Interpolation in der xy-Ebene, aber nicht in der "3D" ein, wenn ich betrachten die erste Spalte als eine andere variable. Ich bin nicht sicher, ob meine Antwort dir hilft, lass es mich wissen.
  • Naja, ich bin noch nicht sicher, um vollständig zu verstehen, was erwarten Sie von der interpolation. Als eine erste Andeutung, die, basierend auf Ihren letzten Kommentar, ich würde Ihnen empfehlen, zu prüfen, Ihre erste Spalte als eine Art Z Ebene/dimension (vertauschen von Spalten wenn nötig), und sehen, ob das hilft. Aber letztlich, denke ich, sollten Sie Bearbeiten Ihre ursprüngliche Frage und besser definieren Ihr problem.
  • Ok, ich werde. Aber ich sehe nicht den Unterschied, ich meine die position der Spalten ist irrelevant? Ich habe keine Ahnung. Ich dachte, es ist. (Aber danke ich werde es beheben asap)
  • ja, in eine rein mathematische Weise die position der Spalte, ist irrelevant. Ich wurde gerade darauf hindeutet, dass helfen, zu erklären/verstehen, was physikalische "Ding", jede Spalte darstellen. Es ist nicht notwendig, um Sie zu tauschen, aber eine bessere Erklärung, was Sie sind und was die interpolation soll erreicht werden, dass nötig wäre, um deine Frage zu beantworten.
  • Getan. Ist es klarer jetzt?. Ich bin Total verloren.
  • Hi @Nikko, ist es klarer (mir sowieso), aber Sie haben nicht erwähnt, wie du interpolieren linear, etc. Dies ist eine wichtige information. Vielleicht haben Sie nicht wissen, die Antwort, aber dann sind wir auch nicht 🙂 Können Sie auch die Daten einer Tabelle (oder einer Teilmenge davon)?
  • Ist dies alle Informationen, die Sie haben oder gibt es einen anderen parameter, als diese zu Linien, dass die Kurve, muss versehen sein mit? Auch es ist ein bisschen schwer zu passen 2 Punkte, also, wenn eine Funktion gegeben ist, willst du eine lineare interpoltation?
  • Danke Jungs für Eure Antworten. Ich habe keine Präferenz auf, wie dieses problem zu lösen. Ich will nur eine (kontinuierliche, wenn möglich) - Kurve zwischen diesen zwei. Für alle "M" - Wert zwischen M[20,30]. Also @darthbith lineare wäre ok. und ich habe die data.@patrik auch neben den Datenpunkten (x,y) die anderen parameter ist "M". Jetzt habe ich die Daten vielleicht klarer ist. Was meinst du zu fit 2 Punkte?. Jede Kurve interpoliert werden können, so kann ich durchgehend eine für jeden Satz.Vielleicht kann auch helfen.
  • Viel klarer in der Tat. Es ist auch gut zu sehen die plots. Ich sehe, Sie haben eine unterschiedliche Anzahl von Punkten zwischen Ihren 2 definierte Kurve. Es wird wahrscheinlich helfen, reinterp jede Kurve auf eine gemeinsame X-oder Y In deinem Beispiel-Kurve, ich kann nicht sicher sein, dass für die X-span, aber ich sehe jede Kurve hat den gleichen Y-Spanne (von 0 bis 500). Also würde ich empfehlen, zuerst resample Ihre vorhandenen Kurven auf eine gemeinsame Y-raster (die Sie verwenden können, interp1 für die). Dann wird für jedes 'Y' Linie, Sie haben eine entsprechende X-Wert für jede Zeit (und interpolieren kann X-Werte für den von Ihnen gewünschten Zeiten dazwischen).
  • nette Idee (Interpolation zuerst in der Y-dominion für jeden Satz). Aber der andere Teil ist verwirrend für mich, kannst du das mal erklären bitte?

InformationsquelleAutor Nikko | 2014-05-06
Schreibe einen Kommentar