So ändern Sie die Eigenschaften eines Matlab-Objekts

Habe ich einen MATLAB-Klasse, so etwas wie:

classdef myclass

  properties
      x_array = [];
  end

  methods
    function increment(obj,value)
       obj.x_array = [obj.x_array ; value);
    end
  end
end

Das problem ist, das Eigentum x_array nie geändert, wenn ich rufe die increment() Funktion:
ex:

>>s = myclass
>>increment(s,5)

>>s.x_array
ans = []

Habe ich einige der Forschung, und ich erreichte ein Ergebnis, dass dies ist, weil MATLAB mit Lazy Kopie für Objekte, meine Klasse Erben der GRIFF-Klasse haben sollte das Problem gelöst, hat es aber nicht, weiß jemand warum dies passiert ist? Und wenn die Erweiterung der Griff Klasse ist indeen die Lösung, dies ist nicht der richtige Weg, es zu tun:

classdef myclass < handle

oder gibt es irgendwelche zusätzlichen Schritte?

Kommentar zu dem Problem
fast ein Duplikat zu stackoverflow.com/questions/209005/... Kommentarautor: Azim

InformationsquelleAutor der Frage user34830 | 2008-11-07

Schreibe einen Kommentar