WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Inhalt von Listboxen abhängig von Variablen

 

muellerschneider
Forum-Anfänger

Forum-Anfänger


Beiträge: 16
Anmeldedatum: 01.11.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.12.2013, 02:26     Titel: Inhalt von Listboxen abhängig von Variablen
  Antworten mit Zitat      
Hallo Leute,
ich habe ein Problem und zwar speichere ich über ein GUI Cell Files in einer .mat datei ab. Diese unterscheiden sich in der Anzahl der Variablen die in cell vorliegen, es gibt mat files mit 3, 5 und 8 variablen. Ich habe nun 3 Listboxen in denen die Namen der .mat dateien angezeigt werden sollen. Dabei soll in jeder Listbox nur ein bestimmter Typ stehen. also in der ersten listbox alle mit 8 variablen in der zweiten alle mit 5 und in der letzten alle mit 3 Variablen. Leider habe ich überhaubt keinen Ansatz wie das funktionieren soll. Wär klasse wenn mir jemand helfen könnte. Confused
Private Nachricht senden Benutzer-Profile anzeigen


Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 20.12.2013, 12:23     Titel: Re: Inhalt von Listboxen abhängig von Variablen
  Antworten mit Zitat      
Hallo muellerschneider,

Die Frage ist sehr allgemein und läßt sich deshlab nicht effizient beantworten.

Zitat:
ich habe ein Problem und zwar speichere ich über ein [b]GUI Cell Files in einer .mat datei ab.

Was das bedeutet ist für Dich bestimmt vollkommen klar, die Leser im Forum haben habe keine Ahnung, was das genau bedeutet.

Ansich klingt es so, als müsstest Du zunächst alle MAT-File mit LOAD in einer Schleife importieren und dann per LENGTH bestimmen, wieviele Elemente die CELL hat, die darin gespeichert ist.

Poste doch mal, was Du bisher versucht hast und erkläre, welche konkreten Probleme auftreten. Dann kann man auch präziser antworten.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
muellerschneider
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 16
Anmeldedatum: 01.11.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.12.2013, 16:54     Titel:
  Antworten mit Zitat      
Sorry klar,

also Ich habe die besagten listboxen. diese möchte ich folgendermaßen füllen. unter jeder list box gibt es einen button "neu", wimit sich eine neue gui öffnet, die 20 Checkboxen enthält die man anklicken kann. Die Belegungen werden dann gespeichert und ein neuer durchgang durchlaufen (die Durchläufe unterscheiden sich von Listbox zur listbox die erste hat 8, die zweite 5 und die dritte 3). anschließend wird diese datei als .mat file im ursprungsordner gespeichert.

save(name,'wert2','wert5','wert10','wert20','wert40','wert60','wert80','wert100');

Es gibt also unterschiedliche .mat files. die ersten haben 8 20x1 cell arrays, 5 20x1 cell arrays und 3 20x1 cell arrays. ich habe sie jetzt auch soweit, dass ich die daten über ein "laden" button in die listboxen eintragen kann. die Probleme sind halt nur:

das ich die dateien mit 8 20x1 cell arrays auch zb in die dritte listbox laden kann

zudem bekomm ich es auch nicht hin mir nur den namen der angeklickten listbox angeben zu lassen. wenn ich folgendes benutze:

b=get(handles.listbox1,'Value');

bekomm ich die Zeilenzahl, je nach ausgewähltem Wort
wenn ich aber das folgende benutze:

a=get(handles.listbox1,'String');

bekomme ich den kompletten inhalt und nicht den string des ausgewählten objekts. in anderen matlab files im internet läuft das irgendwie anders. komm aber nicht drauf.


hoffe das hilft. lg
Fabian
Private Nachricht senden Benutzer-Profile anzeigen
 
muellerschneider
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 16
Anmeldedatum: 01.11.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.12.2013, 17:06     Titel:
  Antworten mit Zitat      
Wie Immer!!
nachdem mans hier geschrieben hat findet man die Lösung (zumindest einen Teil)

Also will man nur den Namen der angeklickten Zeile bekommen, benötigt man das hier:

Code:
a=get(handles.listbox1,'String');%der ganze inhalt
c=a(get(handles.listbox1,'Value'))%der name der angeklickten Zeile


ein anderes Problem besteht aber jetzt und zwar möchte ich anhand dieses namen, die Datei in den Workspace laden. Ich habe mir das so gedacht:

Code:
   inhalt1=get(handles.listbox1,'String');%gibt den inhalt an
    zeile1=inhalt1(get(handles.listbox1,'Value'));
    load(zeile1)


das funktioniert aber nicht... keine Ahnung warum wenn ich es so schreibe funktioniert es
Code:

für * setzte ich das gleiche ein, was in der variable zeile1 steht
weiß da jemand den fehler?

das Problem mit dem laden in jede Listbox besteht auch weiterhin

lg

[EDITED, Jan, Bitte Code-Umgebung verwenden - Danke]
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 21.12.2013, 00:12     Titel:
  Antworten mit Zitat      
Hallo muellerschneider,

Zitat:
das funktioniert aber nicht...

Damit kann man nicht nachvollziehen, wo das Problem liegt. Ich rate mal, dass Du eine Fehlermeldung bekommst, da LOAD kein Cell als Input verwenden kann.

Code:
inhalt1 = get(handles.listbox1,'String');%gibt den inhalt an
zeile1 = inhalt1{get(handles.listbox1,'Value')};  % Geschweifte Klammern!
load(zeile1)


Zitat:
Code:
save(name,'wert2','wert5','wert10','wert20','wert40','wert60','wert80','wert100');

Das sieht danach aus, als würdest Du Variablen-Namen durch-nummerieren. Das ist viel unpraktischer und langsamer als einen Index zu verwenden, also z.B. "wert{2}".

Gruß, Jan
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
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button 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.