Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   
Bücher:

Studierende:
Praktikant Toolentwicklung Matlab (m/w)
Branche: Beratung, Expertise, Fahrzeugtechnik, Fahrzeugteile, Technische Dienstleistungen
MBtech Group GmbH & Co. KGaA - Fellbach

Abschlussarbeit / Praktikum: Entwicklung Matlab (m/w)
Branche: Informationstechnologie, Elektrotechnik, Elektronik
GIGATRONIK Technologies GmbH - Ulm

Studentische Mitarbeit - Fahrzeugmessungen
Branche: mehrere
IAV GmbH - Ingenieurgesellschaft Auto und Verkehr - Berlin

Werkstudent (m/w) High End GNSS Simulation mit modernsten Signalgeneratoren
Branche: Mess-, Regel-, Automatisierungstechnik, Telekommunikation, Nachrichtentechnik
ROHDE & SCHWARZ GmbH & Co. KG - München

Praktikant Testsystemaufbau (m/w)
Branche: Beratung, Expertise, Fahrzeugtechnik, Fahrzeugteile, Technische Dienstleistungen
MBtech Group GmbH & Co. KGaA - Sindelfingen

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