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

 

sawyer_ma
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 75
Anmeldedatum: 14.03.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.11.2016, 19:59     Titel: Polyfit
  Antworten mit Zitat      
Hallo,

ich habe mit Polyfit mir diese Werte einer Kurve berechnen lassen:

p =

0.0000 -0.0000 0.0010 -0.0184 0.1883 -1.1383 3.9298 -6.7560 1.3601 39.2320 -0.2516

Nun wollte ich die Funktion dafür aufstellen in die die Koeffizienten eingesetzt werden. Jedoch finde ich auf der Matlab Homepage nicht genau nach welchem Verfahren Matlab da vorgeht und in welche Formel ich diese einsetzen muss.

Weiß das jemand von euch?

Grüße
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.500
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 04.11.2016, 20:31     Titel:
  Antworten mit Zitat      
Hallo,

wo hast du denn gesucht? An der naheliegenden Stelle, der Doku von polyfit, steht:
Zitat:
The coefficients in p are in descending powers, and the length of p is n+1
p(x)=p1xn+p2xn−1+...+pnx+pn+1.


Wenn du das Polynom auswerten möchtest, hilft polyval .

Davon abgesehen ist es in den wenigsten Fällen sinnvoll, Polynome so hohen Grades zu verwenden.

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

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 75
Anmeldedatum: 14.03.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.11.2016, 22:56     Titel:
  Antworten mit Zitat      
Hi, oh je oh je wo habe ich nur geschaut. Vielen Dank für die schnelle Hilfe. Darf ich noch was frage?

Ich habe mir mit polyval und dem dazugehörigen Aufbau den FitError ausgeben lassen.

T = table(x,y,f,a,'VariableNames',{'X','Y','Fit','FitError’})

Jetzt wurde ich nicht ganz schlau aus dem FitError. Gibt dieser mir die maximale Abweichung an den Stützstellen aus oder? Wie kann ich die Standartabweichung elegant mit Matlab berechnen lassen?

T =

X Y Fit FitError
____ ________ ______ ________

0 -0.45082 1.0235 -1.4744
0.5 19.641 17.674 1.9672
1 36.78 34.938 1.8423
1.5 49.943 51.645 -1.702
2 67.71 67.145 0.5651
2.5 79.24 81.198 -1.9584

Sorry für die villt sau dämliche Frage.
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.500
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 14.11.2016, 00:21     Titel:
  Antworten mit Zitat      
Hallo,

ich weiß nun nicht, wie die Variablen zustandekommen. Falls es um das zweite Rückgabeargument von polyval geht, hilft auch hier die Doku:
Zitat:
delta is an estimate of the standard deviation of the error


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

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 75
Anmeldedatum: 14.03.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.11.2016, 00:57     Titel:
  Antworten mit Zitat      
Hi ich nochmals

Code:


fid = fopen('Messwerte.txt');
matrix2 = fscanf(fid,'%e %e',[10 31]);
matrix2 = matrix2';

 x = (matrix2(:,2)); % 2
 y =  rad2deg(unwrap(deg2rad((matrix2(:,6)))))-9; % 3 usw
 close
   
 p = polyfit(x,y,6)
 x1 = [0:0.5:15];
 f = polyval(p,x);

figure(1)
hold on;
grid on
plot(x1,f,'b');
plot(x,y,'r-o');
xlabel('Steuerspannung [V]');
ylabel('Phase [°]');
qu = (0:1:14)';
%y3 = erf(qu)
a = y-f
T = table(x,y,f,a,'VariableNames',{'X','Y','Fit','FitError'})
 


Wenn ich das richtig verstehe meintest du das T = table(x,y,f,a,'VariableNames',{'X','Y','Fit','FitError’}) welches mir die Werte ausgibt

X Y Fit FitError
____ ________ ______ ________

0 -0.45082 1.0235 -1.4744
0.5 19.641 17.674 1.9672
1 36.78 34.938 1.8423
1.5 49.943 51.645 -1.702
2 67.71 67.145 0.5651
2.5 79.24 81.198 -1.9584

das FitError schon meine Standartabweichung ist?
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.500
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 14.11.2016, 09:44     Titel:
  Antworten mit Zitat      
Hallo,

a ist die tatsächliche Abweichung. Wenn du die Standardabweichung des zu erwartenden Fehlers haben möchtest, dann solltest du dir das zweite Rückgabeargument von polyval zurückholen:
Code:
[f, err] = polyval(p,x);

Damit kannst du insbesondere auch den zu erwartenden Fehler für x-Werte, zu denen du keine y-Werte hast, finden.

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

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 75
Anmeldedatum: 14.03.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.11.2016, 13:49     Titel:
  Antworten mit Zitat      
Super vielen Dank genau das habe ich gesucht. Darf ich noch eine letzte Frage stellen?

Wenn ich mir das Polynom 10 Ordnung von polyfit ausgeben lasse kommt:

p =

0.0000 -0.0000 0.0010 -0.0184 0.1883 -1.1383 3.9298 -6.7560 1.3601 39.2320 -0.2516

Nun würde das ja so aussehen

-0.2516 + 39.2320x + 1.3601x^2 ....... -0.0000x^9 + 0.0000x^10

Warum ist vor der neunten Potenz ein Minus? + oder - 0.000 bleibt 0 oder wird mir hier nicht die vollständige Zahl angezeigt und nur gerundet?

Vielen Dank für eure Hilfe.
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.500
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 14.11.2016, 13:51     Titel:
  Antworten mit Zitat      
Hallo,

das ist eine Frage der Anzeige. Gib mal vorher
Code:
ein.

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

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 75
Anmeldedatum: 14.03.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.11.2016, 14:52     Titel:
  Antworten mit Zitat      
Super vielen Dank für alles. Von meiner Seite aus ist nun alles beantwortet. Vielen Dank
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



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 - 2025 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.