|
|
Daten zwischen 2 GUIs übergeben (große Daten) |
|
geieraffe |
Forum-Fortgeschrittener
|
|
Beiträge: 97
|
|
|
|
Anmeldedatum: 19.04.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 19.04.2012, 13:55
Titel: Daten zwischen 2 GUIs übergeben (große Daten)
|
|
Hallo Community,
ich versuche mich seit ein paar Tagen an einem Programm, das am Ende aus 2 GUIs bestehen soll (ich hab diese mit GUIDE erstellt).
In der ersten GUI werden Datensätze ausgewählt und eingelesen.
In der zweiten soll der ausgewählte Datensatz ausschnittsweise, je nach ausgewähltem Idx, geplottet werden.
Meine Datensätze sind aber sehr sehr groß.
Wenn ich sie als Argument übergeb und dann aus vargin in der zweiten GUI wieder in den WS lege, bekomm ich regelmäßig einen out of memory.
Gibt es noch eine andere Möglichkeit außer meine Datensätze global abzulegen? Oder der Umweg über alignin und evalin? Damit tipp ich mir näml wohl die Finger blutig
|
|
|
|
|
outsider |
Forum-Meister
|
|
Beiträge: 806
|
|
|
|
Anmeldedatum: 03.09.07
|
|
|
|
Wohnort: München
|
|
|
|
Version: R2012b
|
|
|
|
|
|
Verfasst am: 20.04.2012, 15:01
Titel:
|
|
Zitat: |
Wenn ich sie als Argument übergeb und dann aus vargin in der zweiten GUI wieder in den WS lege, |
wenn Du die Daten im WS ablegst, legst Du die unter dem gleichen Namen oder einem anderen ab?
Gruß
|
|
|
geieraffe |
Themenstarter
Forum-Fortgeschrittener
|
|
Beiträge: 97
|
|
|
|
Anmeldedatum: 19.04.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 20.04.2012, 16:56
Titel:
|
|
unter dem gleichen, aber das spielt ja eigtl keine rolle weil es ja getrennte WS sind. ... sonst müsste ich sie ja nicht übergeben.
inzwischen hab ich auch setappdata() und getappdata() versucht, aber auch da liegt mein struct den ich dann lade ja immer doppelt im speicher.
|
|
|
Jan S |
Moderator
|
|
Beiträge: 11.057
|
|
|
|
Anmeldedatum: 08.07.10
|
|
|
|
Wohnort: Heidelberg
|
|
|
|
Version: 2009a, 2016b
|
|
|
|
|
|
Verfasst am: 21.04.2012, 22:24
Titel:
|
|
Hallo geieraffe,
In Matlab wird eine Shared-Data-Copy übergeben, also eine zweite Variable, die aber auf die gleichen Daten zeigt. Erst wenn die zweite Variable verändert wird, wird eine echte, speicherzehrende Daten-Kopie erstellt. Wieso und wann das in Deinem Programm geschieht, weiß ich nicht.
Du könntest die Daten auch in einer GUI per GUIDATA speichern (welches intern übrigens SETAPPDATA verwendet), und die die zweite GUI einen Callback der ersten aufrufen lassen, die den gewünschten Subvektor zurückliefert.
Gruß, Jan
|
|
|
geieraffe |
Themenstarter
Forum-Fortgeschrittener
|
|
Beiträge: 97
|
|
|
|
Anmeldedatum: 19.04.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 23.04.2012, 12:04
Titel:
|
|
Hey Jan,
vielen Dank! Ich hab es momentag schon mit set/getappdata umgesetzt. Das funktioniert mit den kleineren Datensätzen soweit auch ganz gut. Nur mit den großen immernoch nicht, weil ich mit structs arbeite und man kann ja nicht direkt auf die structs zugreifen mit getappdata, oder doch!?
falls da jemand ne lösung hätte wäre das optimal.
... sonst muss ich mir vielleicht doch überlegen das ganze auf einem server laufen zu lassen :/
|
|
|
|
|
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 - 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.
|
|