WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Polyfit mit festem Start- und Endpunkt

 

Caritasracer

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.11.2011, 11:44     Titel: Polyfit mit festem Start- und Endpunkt
  Antworten mit Zitat      
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

Forum-Meister


Beiträge: 24.432
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 24.11.2011, 19:58     Titel:
  Antworten mit Zitat      
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
Private Nachricht senden Benutzer-Profile anzeigen
 
Caritasracer

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.11.2011, 20:36     Titel:
  Antworten mit Zitat      
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 (Cool von der Regressionskurve geschnitten werden soll.

Danke
Caritasracer
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.432
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 24.11.2011, 22:50     Titel:
  Antworten mit Zitat      
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
Private Nachricht senden Benutzer-Profile anzeigen
 
Caritasracer

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.11.2011, 17:40     Titel:
  Antworten mit Zitat      
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

Forum-Meister


Beiträge: 24.432
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 25.11.2011, 19:26     Titel:
  Antworten mit Zitat      
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
Private Nachricht senden Benutzer-Profile anzeigen
 
Caritasracer

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.11.2011, 13:13     Titel:
  Antworten mit Zitat      
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

Forum-Meister


Beiträge: 24.432
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 26.11.2011, 16:08     Titel:
  Antworten mit Zitat      
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
Private Nachricht senden Benutzer-Profile anzeigen
 
Caritasracer

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.11.2011, 13:01     Titel:
  Antworten mit Zitat      
Hallo,

okay, danke. Habs verstanden und es hat funktioniert.

Danke
Caritasracer
 
Manu93

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.04.2018, 13:07     Titel:
  Antworten mit Zitat      
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

Winkelmessung.m
 Beschreibung:

Download
 Dateiname:  Winkelmessung.m
 Dateigröße:  360 Bytes
 Heruntergeladen:  279 mal
Winkelmessung.m
 Beschreibung:

Download
 Dateiname:  Winkelmessung.m
 Dateigröße:  360 Bytes
 Heruntergeladen:  282 mal
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.432
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 26.04.2018, 16:32     Titel:
  Antworten mit Zitat      
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
Code:
a = (x+1) \ (y+1)


Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Manu93

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.04.2018, 07:11     Titel:
  Antworten mit Zitat      
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

Forum-Meister


Beiträge: 24.432
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 27.04.2018, 22:22     Titel:
  Antworten mit Zitat      
Hallo,

das liefert mein Vorschlag.
polyval wertet ein Polynom aus, mit Anpassung des Polynoms hat das wenig zu tun.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Manu93

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.04.2018, 22:17     Titel:
  Antworten mit Zitat      
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

Forum-Meister


Beiträge: 24.432
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 29.04.2018, 21:06     Titel:
  Antworten mit Zitat      
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
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen

Gehe zu Seite 1, 2  Weiter

Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button 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.