|
|
Polyfit mit festem Start- und Endpunkt |
|
Caritasracer |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 24.11.2011, 11:44
Titel: Polyfit mit festem Start- und Endpunkt
|
|
Hallo,
ist es möglich eine Kurvenanpassung (polyfit) mit einem festen Anfangs- und Endpunkt zu machen? Das Polynom soll also zwingend durch diese beiden Punkte gehen.
Danke
Caritasracer
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.432
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 24.11.2011, 19:58
Titel:
|
|
Hallo,
nein, ist es nicht. Vorschlag: lineare Regression und die erzeugenden Funktionen so wählen, dass sie unabhängig von den Parametern durch die gewünschten Punkte gehen.
Grüße,
Harald
|
|
|
Caritasracer |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 24.11.2011, 20:36
Titel:
|
|
Hallo,
danke für die Antwort. Deinen Vorschlag verstehe ich nicht ganz, eine lineare Regression erzeugt mir doch eine "bestpassendste" Gerade oder?
Meine Frage bezieht sich auf folgendes Problem:
Ich habe ein Array mit Werten, z.B [1,2,3,4,7,6,7,4,8]. Ich suche nun eine Regressionskurve (3. Grades) für die Werte, wobei der erste (1) und der letzte Wert ( von der Regressionskurve geschnitten werden soll.
Danke
Caritasracer
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.432
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 24.11.2011, 22:50
Titel:
|
|
Hallo,
nein, lineare Regression bezieht sich nicht auf Geraden, sondern generell auf Linearität in Parameter. Fitten von Polynomen ist z.B. ein Sonderfall.
Hier würde ich es so versuchen:
f(x) = a3*(x-1)^3 + a2*(x-1)^2 + a1*(x-1) + f(1)
x = 8 einsetzen und z.B. nach a1 auflösen --> a1 wird ein linearer Ausdruck in a2 und a3.
Einsetzen der verbleibenden Datenpunkte ergibt ein lineares Gleichungssystem, das mit Hilfe des \-Operators angenähert werden kann.
Grüße,
Harald
|
|
|
Caritasracer |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 25.11.2011, 17:40
Titel:
|
|
Hallo,
ah okay, danke. Aber so bekomme ich ja ein Polynom, das durch den ersten Wert (1) geht und sich an die übrigen Werte möglichst gut anpasst, oder?
Danke
Caritasracer
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.432
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 25.11.2011, 19:26
Titel:
|
|
Hallo,
fast - ein Polynom, das durch den ersten (durch die Wahl des Ansatzes) und den letzten Punkt (durch die Wahl der Parameter) geht, und sich an die verbleibenden Werte möglichst gut anpasst. Das wolltest du doch?
Grüße,
Harald
|
|
|
Caritasracer |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 26.11.2011, 13:13
Titel:
|
|
Hallo,
ja genau das suche ich.
Durch die Definition
Zitat: |
f(x) = a3*(x-1)^3 + a2*(x-1)^2 + a1*(x-1) + f(1) |
lege ich ja fest, dass das Polynom an der Stelle x=1 den Funktionswert f(1) hat, also durch den ersten Punkt geht.
Im nächsten Schritt
Zitat: |
x = 8 einsetzen und z.B. nach a1 auflösen --> a1 wird ein linearer Ausdruck in a2 und a3.
Einsetzen der verbleibenden Datenpunkte ergibt ein lineares Gleichungssystem, das mit Hilfe des \-Operators angenähert werden kann. |
verstehe ich nicht, wieso das Polynom durch den letzten Datenpunkt geht. Ich setze ja zuerst x = 8 ein, und im Anschluss die verbleibenden Datenpunkte. Also werden ja im Prinzip alle Datenpunkte, bis auf den ersten eingesetzt, dann wird z.B. nach a1 aufgelöst und ich erhalte in diesem Beispiel acht Gleichungen, deren Lösung angenähert werden kann.
Wo wird da genau sichergestellt, dass das Polynom durch den letzten Datenpunkt geht?
Danke für deine Hilfe
Caritasracer
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.432
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 26.11.2011, 16:08
Titel:
|
|
Hallo,
Zitat: |
Ich setze ja zuerst x = 8 ein, und im Anschluss die verbleibenden Datenpunkte. |
Nein, nur zunächst nur x = 8. Das liefert dir z.B. a1 als Ausdruck von a2 und a3. Es bleibt also nach Einsetzen des Ausdrucks für a1 ein Modell mit a2 und a3 als Parametern und zwei neuen Basisfunktionen.
Dann erst werden die verbleibenden Punkte genommen, um mit linearer Regression a2 und a3 so zu bestimmen, dass das Polynom möglichst gut durch diese verbleibenden Punkte geht.
Grüße,
Harald
|
|
|
Caritasracer |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 28.11.2011, 13:01
Titel:
|
|
Hallo,
okay, danke. Habs verstanden und es hat funktioniert.
Danke
Caritasracer
|
|
|
Manu93 |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 26.04.2018, 13:07
Titel:
|
|
Hallo Caritasracer und Harald
ich habe zum selben Thema eine Frage. Ich würde gerne eine Stufe leichter gehen und möchte quasi nur den Startpunkt (-1 -1) auf der Linie haben. Allerdings finde ich meinen Fehler im Skript nicht. Ich denke er liegt in der Structur der Funktion coeffs, weis aber nicht wie ich das beheben könnte... Könntet ihr mir bitte da vielleicht helfen?..
Viele Grüße
Manu
Beschreibung: |
|
Download |
Dateiname: |
Winkelmessung.m |
Dateigröße: |
360 Bytes |
Heruntergeladen: |
279 mal |
Beschreibung: |
|
Download |
Dateiname: |
Winkelmessung.m |
Dateigröße: |
360 Bytes |
Heruntergeladen: |
282 mal |
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.432
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 26.04.2018, 16:32
Titel:
|
|
Hallo,
was möchtest du genau? Willst du eine Gerade durch den Punkt und nur die Steigung anpassen? Dann musst du das lösen
y+1=a(x+1)
also
Grüße,
Harald
|
|
|
Manu93 |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 27.04.2018, 07:11
Titel:
|
|
Guten Morgen Harald
ich möchte die Gerade durch den Punkt (-1 -1) gehen lassen. Dabei soll sich die Gerade am besten an die restlich angegebenen Punkte fitten (das habe ich mit der polyval Funktion versucht umzusetzen). Abschließend lasse ich mir die Steigung der Geraden für die Winkelberechnung geben.
Gruß
Manu
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.432
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 27.04.2018, 22:22
Titel:
|
|
Hallo,
das liefert mein Vorschlag.
polyval wertet ein Polynom aus, mit Anpassung des Polynoms hat das wenig zu tun.
Grüße,
Harald
|
|
|
Manu93 |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 28.04.2018, 22:17
Titel:
|
|
Hallo Harald
dh. da ich hier lediglich eine Gerade verwende muss ich keine Fitting Funktion direkt benutzen? Diese wird dann ab einem Polynom 2. Grades z.B. fällig?
Gruß
Manu
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.432
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 29.04.2018, 21:06
Titel:
|
|
Hallo,
für polyval musst du die Gleichung in die Form y = m*x + b bringen. Wenn du aber in der oben beschriebenen Form a hast, ist es doch viel einfacher, das einzusetzen.
Grüße,
Harald
|
|
|
|
Gehe zu Seite 1, 2 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.
|
|