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

Funktionen sinnvoll interpolieren

 

Mark@Matlab
Forum-Anfänger

Forum-Anfänger


Beiträge: 27
Anmeldedatum: 16.10.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.07.2014, 17:07     Titel: Funktionen sinnvoll interpolieren
  Antworten mit Zitat      
Liebe Community,

ich habe einmal wieder eine kurze Frage an die Experten unter euch:

Ich habe nur begrenzte Werte aus einem Versuch zur Verfügung, die ich gerne plotten möchte, beispielsweise im Bereich von 1,5 - 2,7. Nun bräuchte ich aber die Werte im Bereich von 0 - 3,0 , möchte also die mir fehlenden Werte in den Rand möglichst sinnvoll interpolieren.

Ich habe mit Curve-Fitting versucht, das hat allerdings nur semi-optimal geklappt.

Habt ihr irgendwelche Vorschläge bzw. Codes?


Anbei hier einmal die ermittelten Werte...

Code:
x_heating_12 = [1.5:0.1:2.7];
COP_12 = [4.3, 4.4, 4.49, 4.56, 4.61, 4.65, 4.68, 4.69, 4.69, 4.67, 4.62, 4.59, 4.53];
Matrix_12 = [x_heating_12', COP_12'];
P_elek_12 = Matrix_12(:,1)./Matrix_12(:,2);
plot( P_elek_12, COP_12)
 


Wäre über jede Hilfe sehr dankbar...

LG, Mark@Matlab!
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 08.07.2014, 19:56     Titel:
  Antworten mit Zitat      
Hallo,

grundsätzlich ist zu unterscheiden zwischen
a) Interpolation: einer Kurve durch die Datenpunkte mit feinerer Unterteilung zwischen den Datenpunkten. Außerhalb der Datenpunkte könnte man höchstens extrapolieren (am sinnvollsten hier wohl linear)
Code:

b) Regression: eine Modellkurve, die möglichst genau (Summe der quadrierten Abweichungen) durch die Datenpunkte gelegt wird, aber sie i.d.R. nicht genau durchläuft.
Code:
doc polyfit % für Polynome
doc regress % für lineare Modelle
doc nlinfit % für nichtlineare Modelle

Hier könnte ich mir eine Parabel vorstellen.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Mark@Matlab
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 27
Anmeldedatum: 16.10.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.07.2014, 16:34     Titel:
  Antworten mit Zitat      
Danke erst einmal für deine Antwort Smile

Ich habe mich mal eben an den Kurven versucht, bin allerdings damit nicht so erfolgreich gewesen.

Hast du vielleicht eine Idee, wie ich für den oben stehenden Code die Werte für die Randbereiche von 0 bis 0.35 und 0.6 bis 1 möglichst sinnvoll extrapolieren kann.

Sinnvoll müsste eigentlich sein, wenn die Kurve in diesen Bereichen möglichst linear weiter verläuft.

Any ideas?

Vielen Dank schon einmal!

Noch einen schönen Abend,
Mark-Phillip
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


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

was soll eigentlich in Abhängigkeit von was dargestellt werden?
COP_12 in Abhängigkeit von P_elek_12?

Was hast du bisher versucht?

Im einfachsten Fall:
Code:
hold on
P = 0:0.01:1;
C = interp1(P_elek_12, COP_12, P, 'linear', 'extrap');
plot( P, C, 'g:')
hold off


Da die Extrapolation aber nur von den beiden äußersten Messpunkten abhängt, dürfte das recht instabil sein.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Mark@Matlab
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 27
Anmeldedatum: 16.10.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.07.2014, 21:48     Titel:
  Antworten mit Zitat      
Wow...vielen Dank, so oder so ähnlich habe ich mir das zumindest vorgestellt Smile

Was ich bisher versucht habe, war die Werte die ich hatte, mit der Applikation CurveFitting einem Graphen zu hinterlegen. War meistens ein Graph 4. Grades, der allerdings dann für die Randbereiche immer eine zu starke Steigung hatte, so dass die Kurve sofort ins negative abgerutscht ist.

Auch wenn die Werte so vielleicht instabil sind, kommen sie den COPs einer Wärmepumpe schon relativ nahe für die jeweiligen Leistungen.

Also noch einmal vielen Dank für dein Bemühen Smile

Liebe Grüße,
Mark@Matlab
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.