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

Curvefit von Messwerten

 

petra24
Forum-Anfänger

Forum-Anfänger


Beiträge: 20
Anmeldedatum: 24.08.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.04.2013, 12:48     Titel: Curvefit von Messwerten
  Antworten mit Zitat      
Hallo zusammen,
ich habe für vorgegeben Spannungen (siehe voltage_ges) und Leistungen (siehe Pac_ges) die gemessenen Wirkungsgrade (siehe efficiency_ges). Damit ich nun auch für beliebige Spannungs- und Leistungswerte den Wirkungsgrad bestimmen kann, will ich einen Kurvenfit durchführen. Die Gleichung hierfür ist in untenstehenden Code dargestellt und hat 12 zu bestimmente Koeffizienten. Aber leider passt das angegeben Ergebnisse überhaupt nicht. Wenn ich nun als StartVektor nahezu dass Ergebnis für die Koeffizenten angebe, dann passt das Ergebnisse. Dieses Ergebnis weiß ich aber im Normalfall nicht...

Hier mein umgesetzer Code

Code:
%vorgegebene Leistungs- und Spannungswerte
Pac_ges =[230; 460; 920; 1380; 2300; 4600;230; 460; 920; 1380; 2300; 4600;230; 460; 920; 1380; 2300; 4600];
voltage_ges =[250; 250; 250; 250; 250; 250; 330; 330; 330; 330; 330; 330; 420; 420; 420; 420; 420; 420] ;

%gemessenere Wirkungsgrad
efficiency_ges=[89.9; 92.8; 94.5; 94.9; 94.9; 94.4 ; 89.6; 93.5; 94.9; 95.1; 95.6; 95.2; 89.2; 93.9; 95.2; 95.5; 96.0; 95.6];

     
fiteqn_ges=fittype('x/(x+(c1+c2*v+c3*(v^2)+c4*(v^3))+((c5+c6*v+c7*(v^2)+c8*(v^3))*x)+((c9+c10*v+c11*(v^2)+c12*(v^3))*(x^2)))','coefficients',{'c1','c2','c3','c4','c5','c6','c7','c8','c9','c10','c11','c12'}, ...
    'independent',{'x','v'});        
 
StartVec_ges=[1 0 1e-04  1e-05 1e-02  1e-05  1e-09  1e-08 1e-05  -1e-07 1e-10  -1e-10];

Ifit_ges=fit( [Pac_ges, voltage_ges], efficiency_ges, fiteqn_ges,'StartPoint',StartVec_ges,'TolFun',10e-23); % Kurvenfit mit Messwerten  
   
 fitcoeffs_ges=coeffvalues(Ifit_ges);  
   
   
 %% Testplot
Voltage_fit=250:1:500;
Power_fit=1000:10:4600;
[voltage_fit,power_fit]=meshgrid(Voltage_fit,Power_fit);
efficiency_fit=power_fit./(power_fit+(fitcoeffs_ges(1)+fitcoeffs_ges(2).*voltage_fit+fitcoeffs_ges(3).*voltage_fit.^2+fitcoeffs_ges(4).*voltage_fit.^3)+(fitcoeffs_ges(5)+fitcoeffs_ges(6).*voltage_fit+fitcoeffs_ges(7).*voltage_fit.^2+fitcoeffs_ges(8).*voltage_fit.^3).*power_fit+(fitcoeffs_ges(9)+fitcoeffs_ges(10).*voltage_fit+fitcoeffs_ges(11).*voltage_fit.^2+fitcoeffs_ges(12).*voltage_fit.^3).*power_fit.^2);
figure (4)

mesh(voltage_fit,power_fit,efficiency_fit);  
 


Hat jemand eine Ahnung voran das liegen kann bzw. wie ich es verbessern kann? Bin für jede Idee dankbar....

Viele Grüße
Petra
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.