goMatlab - Mein MATLAB Forum

Mein MATLAB Forum

 
Login  | Registrieren
Bücher:

Einstieg in das Programmieren mit MATLAB

Studierende:
Praktikum/Abschlussarbeit - Hardware-in-the-Loop-Simulation von elektrischen Antrieben und leistungselektronischen Komponenten
Elektrotechnik/EDV
dSPACE GmbH - Paderborn

Ermitteln von Kraftstoffverbrauchspotential im 6-Gang EcoLife Stufenautomat
Antriebs- und Fahrwerktechnik
ZF Friedrichshafen AG - Friedrichshafen

Wiederverwendung von SW-Funktionsteilen hybridspezifischer Funktionen
Kfz-Zulieferindustrie
ZF Friedrichshafen AG - Friedrichshafen

Entwicklung und Erprobung von "Systemen unter Verwendung mechanischer Fremdenergie"
Antriebs- und Fahrwerktechnik
ZF Friedrichshafen AG - Friedrichshafen

Abschlussarbeit: Diagnose Ansätze für Zukunftsweisende SCR-Technologie (Selektive katalytische Reduktion)
Fahrzeugtechnik
MBtech Group GmbH & Co. KGaA - Fellbach-Schmiden

weitere Angebote

Partner:




Vermarktungspartner


Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Curve Fitting Tool - Polynomkoeffizienten sind falsch

 

Tai
Forum-Newbie
Forum-Newbie

Beiträge: 4
Anmeldedatum: 03.01.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.01.2012, 12:03     Titel: Curve Fitting Tool - Polynomkoeffizienten sind falsch
  Antworten mit Zitat      
Hallo,

ich habe mittels motion tracking die Koordinaten von Markern entlang des Rückens aufgenommen. Zur Interpolation habe ich das cftool verwendet. Bei 6 Markern habe ich meist ein Polynom 4ten o 5ten Grades genutzt. Soweit ist die optische Visualisierung dann auch meinen Vosstellungen entsprechend, wenn ich dann aber die ausgegebenen p1 bis p5 verwende und mit den entsprechenden x-Werten die Funktion nocheinmal berechne u plotten lassen, kommen y Werte bzw eine Kurve zu stande, die extrem weit weg von der Realität bzw vom vorher gefitteten Polynom sind. Also gehe ich davon aus, dass die Koeffizienten die da Ausgegeben werden absolut nicht stimmen.

hier zum Vergleich mal ein paar Wertepaare meiner Marker:

[x,y]
[1094,-604,7];[1134,-601.4];[1183,-607.8];[1234,-618.7];[1290,-625,8];[1345,-622,8]

und das Polynom was mir dazu berechnet wird ist:

-1.219*x.^4 + 7.786*.^3 + 1.645*x.2 - 20.19*x - 614.2

Hat jmd eine Idee, wie das Ganze zusammenhängt?
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister
Forum-Meister

Beiträge: 5343
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ---
     Beitrag Verfasst am: 11.01.2012, 12:13     Titel:
  Antworten mit Zitat      
Hallo,

ich bekomme andere Parameter. Zur Sicherheit: mit welcher MATLAB-Version arbeitest du?

Zur Interpolation wäre übrigens INTERP1 deutlich sinnvoller.

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

Forum-Newbie
Forum-Newbie

Beiträge: 4
Anmeldedatum: 03.01.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.01.2012, 12:49     Titel:
  Antworten mit Zitat      
Hallo Harald,

also ich nutze die R2011b version (7.13.0.564).

Und ja interp1 mit 'pchip' als methode liefert eine ganz gute Kurve, da ich aber das erste mal in die Richtung mit Matlab arbeite,war mir nicht gleich klar, wo ich die passenden Polynomwerte dazu herbekomme, drum bin ich kurzer Hand auf das cftool umgesattelt.
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister
Forum-Meister

Beiträge: 5343
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ---
     Beitrag Verfasst am: 11.01.2012, 13:10     Titel:
  Antworten mit Zitat      
Hallo,

ich habe dieselbe Version verwendet und kann deine Ergebnisse nicht nachvollziehen.

Code:
x = [1094, 1134, 1183, 1234, 1290, 1345];
y = [-604.7,-601.4,-607.8,-618.7,-625.8,-622.8]
cftool(x,y)

... und dann den Grad des Polynoms auf 4 stellen.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Titus
Forum-Meister
Forum-Meister

Beiträge: 853
Anmeldedatum: 19.07.07
Wohnort: Aachen
Version: ---
     Beitrag Verfasst am: 11.01.2012, 16:55     Titel:
  Antworten mit Zitat      
Hallo,

habe auch mal experimentiert: ich denke, dass Tai den Knopf "center and scale" aktiviert hat? Dann kommt natürlich ein verschobenes und skaliertes Polynom bei raus, die Koeffizienten reproduzieren dann natürlich nicht (direkt) das Ausgleichspolynom ...

Titus
Private Nachricht senden Benutzer-Profile anzeigen
 
Titus
Forum-Meister
Forum-Meister

Beiträge: 853
Anmeldedatum: 19.07.07
Wohnort: Aachen
Version: ---
     Beitrag Verfasst am: 11.01.2012, 17:12     Titel:
  Antworten mit Zitat      
Hallo,

vielleicht hilft das weiter: ausgehend von Harald's Daten habe ich folgendes gemacht:
Code:

% Daten:
x = [1094        1134        1183        1234        1290        1345];
y = [-604.7,-601.4,-607.8,-618.7,-625.8,-622.8];
% Werte für Plotten:
xi=1050:1350;
% scaliert und verschoben anhand dessen was cftool sagt:
xx = (xi-mean(x))/std(x);

% berechne Interpolationspolynom
yi = -1.219*xx.^4 + 7.786*xx.^3 + 1.645*xx.^2 - 20.19*xx - 614.2 ;
% sieht ganz gut aus, oder?
plot(xi,yi, 'r-', x, y, 'b*')


Titus
Private Nachricht senden Benutzer-Profile anzeigen
 
Tai
Themenstarter

Forum-Newbie
Forum-Newbie

Beiträge: 4
Anmeldedatum: 03.01.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.01.2012, 09:26     Titel:
  Antworten mit Zitat      
Vielen Dank für die schnellen Antworten und @Titus: Ja, ich hab wirklich einfach nur nicht beachtet, dass ich center und scale aktiviert hatte und dann ja auch umrechnen muss. Jetzt funktionierts:)!
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Options and Permissions
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
.


goMatlab ist ein Teil des goForen-Labels
goForen.de goMATLAB.de goLaTeX.de goPCB.de


 Impressum  | Werbung/Mediadaten | Studentenversion | FAQ | goMatlab RSS Button RSS


Copyright © 2007 - 2012 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
Partner: LabVIEWforum.de

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.