|
|
Rückgabewert einer Klassenmethode |
|
Marc |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 21.03.2012, 09:39
Titel: Rückgabewert einer Klassenmethode
|
|
Guten Morgen zusammen,
ich versuche mich gerade an der Klassenerstellung in Matlab. Da ich aus dem C-Bereich komme, ist die Matlab-Syntax noch sehr befremdlich für mich - versuche mich gerade etwas einzuarbeiten, aber auch Ergebnisse zu liefern.
Nach einigen weiteren _Herausvorderungen_, versuche ich gerade beim Aufruf einer function eines Klassenobjekts einen Rückgabewert zu erhalten.
Klasse:
Aufruf sieht so aus:
Das Objekt existiert. Eigentlich will ich mittels der charge-Methode zwei Werte zurückgeben. Um meinem Problem auf den Grund zu gehen, habe ich jetzt vorläufig auf eine Variable reduziert. Aber selbst die kommt nicht aus meiner Funktion zurück.
Statt dessen bekomme ich den Fehler:
Ich stehe nun vor einem Rätsel, auch wenn ich annehme, dass der Fehler wohl recht lächerlich sein wird.
Für eure Hilfe möchte ich mich schon mal im Voraus bedanken.
Grüße
Marc
|
|
|
|
|
MatLabNooB |
Forum-Guru
|
|
Beiträge: 262
|
|
|
|
Anmeldedatum: 27.03.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 21.03.2012, 09:59
Titel:
|
|
Hi,
hatte keine Probleme die von dir angesprochenen Operationen auszuführen:
sieht für mich so aus, als hättest du den aufruf B = cBattery(1, 0.9, 0.9) noch mit den 2 Outputs gemacht?
gruß
|
|
|
Marc |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 21.03.2012, 10:42
Titel:
|
|
Hi MatLabNooB,
danke für deine schnelle Antwort.
Jetzt funktioniert es bei mir auch. Ich hatte den Workspace nicht geleert und scheinbar wird ein vorhandenes Objekt bei erneuter Instanziierung nicht überschrieben.
Ein clear hat das Problem beseitigt.
Das muss ich mir unbedingt merken: Arbeitsspeicher immer von Hand löschen.
Grüße
Marc
|
|
|
denny |
Supporter
|
|
Beiträge: 3.853
|
|
|
|
Anmeldedatum: 14.02.08
|
|
|
|
Wohnort: Ulm
|
|
|
|
Version: R2012b
|
|
|
|
|
|
Verfasst am: 21.03.2012, 11:25
Titel:
|
|
Marc hat Folgendes geschrieben: |
Hi MatLabNooB,
danke für deine schnelle Antwort.
Jetzt funktioniert es bei mir auch. Ich hatte den Workspace nicht geleert und scheinbar wird ein vorhandenes Objekt bei erneuter Instanziierung nicht überschrieben.
Ein clear hat das Problem beseitigt.
Das muss ich mir unbedingt merken: Arbeitsspeicher immer von Hand löschen.
Grüße
Marc |
Yepp das ist wichtig. Objekt zuvor zu zerstören. Wird im Matlab nicht automatisch beim Kompilieren aus dem Speicher entfernt. Destruktor muss manuell ausgeführt werden.
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
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
| RSS
Hosted by:
Copyright © 2007 - 2024
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.
|
|