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

'Out Of Memory' bei v4 Interpolation

 

Hannes123

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.03.2011, 15:15     Titel: 'Out Of Memory' bei v4 Interpolation
  Antworten mit Zitat      
Hallo ihr tapferen Helfer,

dieses Thema wurde zwar schon oft besprochen, leider konnte mir die Suchfunktion aber nicht wirklich weiterhelfen. Einerseits weil ich ein Programmier-Krüppel bin, andererseits weil ich mein Problem nirgends explizit beschrieben gefunden habe.
Ich hoffe also dass ihr den Nerv habt mir zu helfen.

Das Problem:
es soll ein Kennfeld aus vorgegebenen Wertetripeln (Drehzahl n, Drehmoment M und Wirkungsgrad eta) interpoliert werden. Die Rohdaten liegen in einer Exceltabelle vor.
Das interpolierte Kennfeld soll dann in einem Simulinkmodell als Look-Up-Table eingebunden werden, die bei vorgabe von Drehzahl n und Drehmoment M den entsprechenden Wirkungsgrad eta ausgibt.

Mein bisheriges Vorgehen:
Nach dem Einlesen generiere ich mittels meshgrid das Gitter mit vorgegebener Schrittweite i. Danach soll mittels griddata interpoliert werden, und zwar nach der Methode 'v4'.
Soweit sogut, das habe ich für kleinere Datensätze (d.h. max. 4000 Wertetripel) erfolgreich durchgeführt.

Nun habe ich einen Daten satz mit genau 6276 Wertetripeln und das ist meinem Progrämmlein wohl etwas zuviel. Wenn es zur Interpolation mit griddata kommt wird das Programm mit eben jener "out of memory" Fehlermeldung abgebrochen.

Folgendes habe ich bereits probiert:
- sparse Matrizen: bringt leider nichts, da jedes Element in meinen verwendeten Matrizen nicht-null ist.

- double zu single: funktioniert zwar vom Speicher her, allerdings ist die ausgegeben, interpolierte Matrix ein Haufen Schrott. Ich verstehe nicht wieso, da meine Elemente maximal drei Nachkommastellen haben. Wenn alles mit single gerechnet wird hab ich plötzlich negative Werte, viel zu große werte, viel zu kleine Werte, und das alles direkt nebeneinander wo eigentlich weiche Übergänge sein sollten.

- Ändern der grid-Schrittweite (von 1 über 10 bis 100)

- Löschen von nicht mehr gebrauchten Variablen.

Damit erschöpft sich leider schon meine Trickkiste, und Nichts hatte den gewünschten Effekt.

Hat also jemand einen Vorschlag wie man mein Problem lösen kann, bzw. mein Programm optimieren kann? Ist meine Rangehensweise völlig falsch?
Der Code ist angehängt, habt keine Gnade!

Vielen Dank und beste Grüße,

Hannes

Code:
clear all;

%Erzeugung Wirkungsgradkennfeld

n = xlsread('Ges_M_Mot125kW.xls',1,'A1:A5000'); %holt sich x-Werte (Drehzahl n) aus Exceltabelle
M = xlsread('Ges_M_Mot125kW.xls',1,'B1:B5000'); %holt sich y-Werte (Drehmoment M) aus Exceltabelle
eta = xlsread('Ges_M_Mot125kW.xls',1,'C1:C5000'); %holt sich z-Werte (Wirkungsgrad eta) aus Exceltabelle

in = [10:10:8000]; %Schrittweite der x-Achse
iM = [1.5:1:300]; %Schrittweite der y-Achse
[XI,YI] = meshgrid(in,iM); %erzeugt ein Raster mit Schrittweite "in" & "iM"
XI_s = single(XI);
YI_s = single(YI);

clear in;
clear iM;
clear XI;
clear YI;

%Interpolation Verbrauchskennfeld

MKennfeld=griddata(n,M,eta,XI_s,YI_s,'v4');


Hannes123

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.03.2011, 11:50     Titel:
  Antworten mit Zitat      
Oha, ist die Antwort so offensichtlich oder wieso antwortet niemand?
viele Grüße
 
feynomen
Forum-Anfänger

Forum-Anfänger


Beiträge: 19
Anmeldedatum: 12.04.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.06.2012, 16:42     Titel:
  Antworten mit Zitat      
Hi,

konntest du das problem lösen ?

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