Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   
Bücher:

Fachkräfte:
Projektingenieur / Projektingenieurin Maschinenbau mit Kenntnissen in Matlab / Simulink
Durchführung von Simulationen und Berechnungen
HBI Haerter GmbH - Heidenheim an der Brenz (nahe Ulm)

Softwareentwickler Automotive Getriebesteuerungen (m/w)
Umsetzung der Softwarefunktionalität modellbasiert nach Spezifikation
MBtech Group GmbH & Co. KGaA - Sindelfingen

Applikationsingenieur (w/m) Testsysteme HIL-Simulation
Projektierung von Hardware-in-the-Loop-Systemen (Hardware und Software) in Kundenprojekten
dSPACE GmbH - Paderborn

System-Entwickler (m/w)
Analyse und Spezifikation von Systemanforderungen & Abstimmung von Anforderungen
MicroNova AG - Friedrichshafen

Entwicklungsingenieur (m/w) Modellierung
Entwicklung von innovativen Fahrzeug- systemen in den Bereichen Fahrerassistenzsysteme, eMobility und Komfort
Bertrandt Technikum GmbH - Ehningen bei Stuttgart

weitere Angebote

Partner:


Vermarktungspartner


Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Objekt in MAT-Datei speichern mit eignener member-function

 

Student_1234

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.12.2015, 13:12     Titel: Objekt in MAT-Datei speichern mit eignener member-function
  Antworten mit Zitat      
Hallo,

gibt es eine Möglichkeit in einer Klasse eine Methode zu implementieren, welche die Instanz des Objektes, das diese Methode aufruft, selber in ein MAT-File speichert?

Hier mal Beispielcode, wie ich mir das ungefähr vorstelle:
Code:
classdef testclass    
    properties
          a
    end    
    methods
        function obj = testclass(a)
            obj.a = a;
        end
        function saveToFile(obj)
            %Was muss hier her, damit die Instanz sich selber abspeichern
            %kann
        end
    end    
end
 


Mein Ansatz war, die Instanz aus dem Workspace zu speichern. Aber das Problem ist, dass in der Funktion die Instanz aus dem Workspace nicht sichtbar ist. Folgendes habe ich ausprobiert:
Code:
save('testclass.mat',inputname(1))


das brachte nur den Fehler, dass die Variable(Instanzname) nicht gefunden wurde.

Viele Grüße


Titus
Forum-Meister

Forum-Meister


Beiträge: 870
Anmeldedatum: 19.07.07
Wohnort: Aachen
Version: ---
     Beitrag Verfasst am: 15.02.2016, 11:23     Titel:
  Antworten mit Zitat      
Hallo,

ganz verstehe ich das Problem nicht. Wenn Du in saveToFile einfach
Code:

save('testclass.mat', 'obj');
 

schreibst, dann wird obj doch in der Datei gespeichert. Das Einzige "Problem" ist, dass das Objekt dann den Namen obj hat. Ist das das Problem? Wenn ja, dann könnte man folgenden (meiner Meinung nach unschönen) code verwenden:
Code:

% Name der Variable im aufrufenden Workspace
varName = inputname(1);
% Bilde Struktur mit nur einem Feld
data.(varName) = obj;
% Parameter -struct speichert die Felder der Datei
save('testclass.mat', '-struct', 'data'); %#ok
 


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


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


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


Copyright © 2007 - 2018 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.