|
|
Kurve mit negativer Steigung erzwingen |
|
Jonadei |
Forum-Anfänger
|
|
Beiträge: 39
|
|
|
|
Anmeldedatum: 14.08.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 23.10.2012, 10:49
Titel: Kurve mit negativer Steigung erzwingen
|
|
Hallo an alle Mathematikprofis,
ich habe ein kleines Problem mit der Interpolationsfunktion von Matlab. Meine Daten sind einem starken Rauschen unterworfen, ich weiß aber, dass sie vom Wert her abnehmen müssen. Wenn ich allerdings interpoliere, wie stark auch immer, geht a) die Charakterisitik der Kurve verloren, also wie stark die negative Steigung wirklich ist, und b) gehts auch manchmal bergauf.
Gibt es die Möglichkeit eine Bedingung einzuführen, dass die interpolierte Kurve eine negative Steigung besitzen muss?
Danke und viele Grüße
|
|
|
|
|
MaFam |
Forum-Meister
|
|
Beiträge: 799
|
|
|
|
Anmeldedatum: 02.05.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2009b
|
|
|
|
|
|
Verfasst am: 23.10.2012, 10:53
Titel:
|
|
Hallo,
kannst du bitte eine Grafik dazu hochladen?
Grüße, Marc
|
|
|
Jonadei |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 39
|
|
|
|
Anmeldedatum: 14.08.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 23.10.2012, 10:55
Titel:
|
|
Gern
Beschreibung: |
|
Download |
Dateiname: |
dilatex2_kroatien04_height_noise.png |
Dateigröße: |
15.27 KB |
Heruntergeladen: |
752 mal |
|
|
|
MaFam |
Forum-Meister
|
|
Beiträge: 799
|
|
|
|
Anmeldedatum: 02.05.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2009b
|
|
|
|
|
|
Verfasst am: 23.10.2012, 11:59
Titel:
|
|
Diese Daten zu interpolieren macht keinen Sinn. Es läuft daher auf Approximation hinaus. Welchen schematischen Kurvenverlauf (Modellfunktion) hast du dir denn vorgestellt? Wenn das klar ist, kann man zusätzliche Bedingungen, wie beispielsweise eine negative Steigung, an die Kurve stellen.
|
|
|
Jonadei |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 39
|
|
|
|
Anmeldedatum: 14.08.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 23.10.2012, 12:46
Titel:
|
|
Die Modellfunktion ist mir im Grunde egal. Da ich allerdings mehrere Datenpakete habe, die einzeln zu behandeln sind, sich aber stark voneinander unterscheiden in ihrer Anzahl an Werten, sollte es skalierbar sein.
|
|
|
MaFam |
Forum-Meister
|
|
Beiträge: 799
|
|
|
|
Anmeldedatum: 02.05.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2009b
|
|
|
|
|
|
Verfasst am: 23.10.2012, 13:03
Titel:
|
|
Ich kann mir nicht vorstellen, dass die Modellfunktion egal sein kann. Was meinst du eigentlich mit negativer Steigung? Ist ein globale Absenkung gemeint und kann die Kurve lokal steigen? Stell' dir das als ein schwingendes Polynom vor mit lokalen Optima, aber an der Rändern ist der Endwert kleiner als der Anfangswert...
|
|
|
Jonadei |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 39
|
|
|
|
Anmeldedatum: 14.08.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 23.10.2012, 13:24
Titel:
|
|
es darf keinen Punkt geben, wo die Steigung positiv ist. Erlaubt ist keine bzw. negative Steigung. Das heißt der nachfolgende Punkt muss immer kleiner bzw. gleich dem aktuellen sein. Dennoch möchte ich eine gewisse Anpassung an das Profil, so dass bei einem starken Abnehmen der Werte das eben auch in einer höheren negativen Steigung sichtbar wird.
Zur Klarheit, es handelt sich hierbei um einen Querschnitt eines Flussprofils. Wasser fließt leider nur bergab und hierzu muss das entsprechend modelliert werden
|
|
|
MaFam |
Forum-Meister
|
|
Beiträge: 799
|
|
|
|
Anmeldedatum: 02.05.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2009b
|
|
|
|
|
|
Verfasst am: 23.10.2012, 13:33
Titel:
|
|
Sowas vielleicht?
Die Gerade y = -1*x+1 beschreibt den negativen Trend.
|
|
|
Jonadei |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 39
|
|
|
|
Anmeldedatum: 14.08.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 23.10.2012, 13:39
Titel:
|
|
Ja, das schaut gut aus. Nur wie bekomme ich meine Werte auf eine Kurve, die das berücksichtigt?
|
|
|
MaFam |
Forum-Meister
|
|
Beiträge: 799
|
|
|
|
Anmeldedatum: 02.05.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2009b
|
|
|
|
|
|
Verfasst am: 23.10.2012, 13:48
Titel:
|
|
Die Frage verstehe ich jetzt nicht so recht. Ich rate mal. Du führst mit deinen Daten eine lineare Regression durch. Das führt zu der Geraden, die den negativen Trend beschreibt. Dann wählst du die Abstände ("eine gewisse Anpassung an das Profil") für die Splineinterpolation und fertig.
|
|
|
Jonadei |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 39
|
|
|
|
Anmeldedatum: 14.08.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 23.10.2012, 13:54
Titel:
|
|
Tut mir leid für die blöde Frage vorhin. Ich habe zuerst gepostet und dann gedacht
Ich habe nun folgendes getan.
x sind bei mir die Werte
y die Gerade, die den Abwärtstrend festlegt
xx sind die jeweiligen Abstände, in meinem Fall 1 bis length(y)
yy das Ergebnis der Spline-Funktion
Leider bekomme ich beim letzten Schritt folgenden Fehler:
The data sites should be distinct.
|
|
|
MaFam |
Forum-Meister
|
|
Beiträge: 799
|
|
|
|
Anmeldedatum: 02.05.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2009b
|
|
|
|
|
|
Verfasst am: 23.10.2012, 14:01
Titel:
|
|
Poste bitte den relevanten Code, sonst kann man den Fehler nur schwer identifizieren.
|
|
|
Jonadei |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 39
|
|
|
|
Anmeldedatum: 14.08.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 23.10.2012, 14:09
Titel:
|
|
|
|
MaFam |
Forum-Meister
|
|
Beiträge: 799
|
|
|
|
Anmeldedatum: 02.05.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2009b
|
|
|
|
|
|
Verfasst am: 23.10.2012, 14:11
Titel:
|
|
xx muss von daten_min bis daten_max gehen, nicht von 0 bis zur Länge des Datensatzes.
|
|
|
Jonadei |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 39
|
|
|
|
Anmeldedatum: 14.08.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 23.10.2012, 14:15
Titel:
|
|
in etwa so?
Hierbei kommt bei
der gleiche Fehler, obwohl x und y die gleiche Länge haben.
|
|
|
|
Gehe zu Seite 1, 2, 3, 4 Weiter
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2024
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|