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

variablen in listbox

 

lulu

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.03.2008, 13:04     Titel: variablen in listbox
  Antworten mit Zitat      
hi leute,

hab ein problem und zwar ist es möglich die variablen eines mfiles in einer listbox darzustellen wenn ja wie, weil ich später mit ausgewählten dann weiter arbeiten will.

danke


outsider
Forum-Meister

Forum-Meister


Beiträge: 806
Anmeldedatum: 03.09.07
Wohnort: München
Version: R2012b
     Beitrag Verfasst am: 11.03.2008, 13:51     Titel:
  Antworten mit Zitat      
Als LOADSELECTED abspeichen und starten - entweder ohne jegliche oder den MAT-File übergeben:

Code:
function loadselected(fname)
if nargin==0
   [fname pname] = uigetfile('*.mat','select MAT-file');
   if ~pname ; return ; end
   fname = fullfile(pname,fname);
end% if
var = whos('-file',fname);
[sel,ok] = listdlg('PromptString','Select a file:','ListString',{var.name});
if ok
   evalin('caller',sprintf('load %s %s',fname,sprintf('%s ',var(sel).name)))
end% if



MfG
Private Nachricht senden Benutzer-Profile anzeigen
 
lulu

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.03.2008, 14:47     Titel: ...
  Antworten mit Zitat      
danke so weit, aber ich wollte eigentlich die variablen von einem m file in die listbox hinein machen, geht das auch irgendwie

das mfile wurde vorhererzeugt und auf einen headerangepasst, für die weiteren arbeitsschritte brauch ich jetzt aber nur einige variablen und nicht alle, nur mal als kurze erklärung

danke schön
 
outsider
Forum-Meister

Forum-Meister


Beiträge: 806
Anmeldedatum: 03.09.07
Wohnort: München
Version: R2012b
     Beitrag Verfasst am: 11.03.2008, 15:18     Titel:
  Antworten mit Zitat      
Mit WHOS -FILE kannst Du auslesen welche Variablen im MAT-File enthalten sind.
>> var = whos('-file','***.mat');
>> var.name

Nun kann man die in der Listbox anzeigen:
>> figure
>> h = uicontrol('style','listbox','units','normalized','position',[ 0 0 .3 1],'Min',0,'Max',2,'String',{var.name});

oder wenn die Listbox bereits mit der GUIDE erzeugt wurde:
set(handle.listbox1,'String',{var.name})


MfG
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.04.2010, 10:25     Titel:
  Antworten mit Zitat      
Hallo zusammen,

habe eine ähnliche Frage, und zwar möchte ich alle txt Datein, welche sich in einer ausgewählten Directory befinden auslesen und in eine Listbox speichern.

Welchen Befhel brauche ich um alle txt Datein aus einer bekannten Directory auszulesen?

In die Listbox wird es dann mit:

Code:

set(handles.listbox1,'String',name,'Value',1);
 


Grüße
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 14.04.2010, 11:51     Titel:
  Antworten mit Zitat      
Hallo,
mit dir-Befehl kannst du das erreichen

Code:

txt_files= dir(fullfile('C:\TEMP\','*.txt'))
txt_files = {txt_files.name}

set(handles.listbox1,'String',txt_files,'Value',1);
 
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.04.2010, 15:42     Titel:
  Antworten mit Zitat      
ok, das mit dem dir Befehl habe ich schon in einer anderen Fct. einggebaut und nun mit dieser verbunden, fkt. wie gedacht. AAber, da ich das ganze Tool in Guide geschrieben habe, kann ich auch auf den Workspace nicht direkt zu greifen. Ich speichere die Werte dann immer in einem MAT-file.
Wie kann ich denn einen einzelnen Wert in das MAT-File hinnzufügen ohne dass die, die sich dortdrin befinden gelöscht werden?

Gerzeit lade ich alle Werte aus dem MAT-File und speichere sie incl. dem neuen Wert, dass ist aber doch nicht Sinn der Sache zumal es langsam ist...

Grüße
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 15.04.2010, 13:12     Titel:
  Antworten mit Zitat      
Hallo,

weiß ich nicht, was unter der Wert speziell meinst, also mit save
kannst Variable in Mat-File nachträglich einfügen.

Code:

A=10
save('test.mat', 'A')

B=20
save('test.mat', 'B', '-append')

clear all

load('test.mat')

whos


 
Private Nachricht senden Benutzer-Profile anzeigen
 
Shin
Forum-Century

Forum-Century


Beiträge: 117
Anmeldedatum: 12.11.09
Wohnort: Karlsruhe
Version: ---
     Beitrag Verfasst am: 16.04.2010, 13:17     Titel:
  Antworten mit Zitat      
outsider hat Folgendes geschrieben:
Mit WHOS -FILE kannst Du auslesen welche Variablen im MAT-File enthalten sind.
>> var = whos('-file','***.mat');
>> var.name

Nun kann man die in der Listbox anzeigen:
>> figure
>> h = uicontrol('style','listbox','units','normalized','position',[ 0 0 .3 1],'Min',0,'Max',2,'String',{var.name});

oder wenn die Listbox bereits mit der GUIDE erzeugt wurde:
set(handle.listbox1,'String',{var.name})


MfG


Code:
var = whos('-file','Palzem08_12_2009.mat');
var.name
set(handle.listbox1,'String',{var.name});

bringt mir den Fehler '??? No appropriate method or public field listbox1 for class handle.'. Hab ich irgendwas falsch gemacht?
Private Nachricht senden Benutzer-Profile anzeigen
 
Shin
Forum-Century

Forum-Century


Beiträge: 117
Anmeldedatum: 12.11.09
Wohnort: Karlsruhe
Version: ---
     Beitrag Verfasst am: 21.04.2010, 14:33     Titel:
  Antworten mit Zitat      
Guten Tag,
habe oben gepostete loadselected Funktion verwendet, wird aufgerufen über einen button in GUI:
Code:
function pushbutton11_Callback(hObject, eventdata, handles)
loadselected

Soweit ja alles logisch, wenn ich ein mat-file auswähle und eine darin enthaltene Variable, wird diese auch geladen - aber nicht in den base-Workspace, wo ich sie verarbeiten könnte.
Da ich auch nicht weiß, welche Variable vom Benutzer ausgewählt wurde, kann ich die auch nicht in den base laden, da sie ja jedes mal anders heißen kann.
Was muss ich tun bzw. wie muss ich die function umschreiben, dass mir z.B. automatisch die ausgewählte Variable in "Var1" umbenannt wird? Das hätte dann ja zur Folge, dass es nicht notwendig ist zu wissen, welche Variable der Nutzer ausgewählt hat, da sie einfach als "Var1" verwendet werden kann.

Wäre für Hilfe äußerst dankbar.
Private Nachricht senden Benutzer-Profile anzeigen
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 23.04.2010, 10:19     Titel:
  Antworten mit Zitat      
1)
Shin hat Folgendes geschrieben:

Code:
var = whos('-file','Palzem08_12_2009.mat');
var.name
set(handle.listbox1,'String',{var.name});

bringt mir den Fehler '??? No appropriate method or public field listbox1 for class handle.'. Hab ich irgendwas falsch gemacht?


Hier ist wahrscheinlich Tippfehler,
Es muss handles heißen
Code:

set(handles.listbox1,'String',{var.name})
 


2)
Shin hat Folgendes geschrieben:

Soweit ja alles logisch, wenn ich ein mat-file auswähle und eine darin enthaltene Variable, wird diese auch geladen - aber nicht in den base-Workspace, wo ich sie verarbeiten könnte.
Da ich auch nicht weiß, welche Variable vom Benutzer ausgewählt wurde, kann ich die auch nicht in den base laden, da sie ja jedes mal anders heißen kann.
Was muss ich tun bzw. wie muss ich die function umschreiben, dass mir z.B. automatisch die ausgewählte Variable in "Var1" umbenannt wird? Das hätte dann ja zur Folge, dass es nicht notwendig ist zu wissen, welche Variable der Nutzer ausgewählt hat, da sie einfach als "Var1" verwendet werden kann.


Und was wenn du mehrere Variablen auswählst? Wie hast das dir vorgestellt?
Private Nachricht senden Benutzer-Profile anzeigen
 
Shin
Forum-Century

Forum-Century


Beiträge: 117
Anmeldedatum: 12.11.09
Wohnort: Karlsruhe
Version: ---
     Beitrag Verfasst am: 26.04.2010, 14:10     Titel:
  Antworten mit Zitat      
denny hat Folgendes geschrieben:
1)
Hier ist wahrscheinlich Tippfehler,
Es muss handles heißen
Code:

set(handles.listbox1,'String',{var.name})
 

Na super. ^^
Wird wohl der Fehler gewesen sein, habe das ganze aber nun anders gelöst.
denny hat Folgendes geschrieben:

2)
Und was wenn du mehrere Variablen auswählst? Wie hast das dir vorgestellt?

Innerhalb meines Programms darf nur eine Variable ausgewählt werden, da die Auswahl geplottet wird und der Anwender weiß, dass es nicht Sinn macht, mehrere Variablen gleichzeitig auszuwählen.

Danke dir.
Private Nachricht senden Benutzer-Profile anzeigen
 
xPashAx
Forum-Guru

Forum-Guru


Beiträge: 294
Anmeldedatum: 18.05.09
Wohnort: Heidelberg
Version: ---
     Beitrag Verfasst am: 27.04.2010, 19:49     Titel:
  Antworten mit Zitat      
das loadselected ist ziemlich praktisch. aber wie mache ich es wenn ich nur die mat datei laden will. (ohne die beinhaltende variablen zu wählen)
Private Nachricht senden Benutzer-Profile anzeigen
 
xPashAx
Forum-Guru

Forum-Guru


Beiträge: 294
Anmeldedatum: 18.05.09
Wohnort: Heidelberg
Version: ---
     Beitrag Verfasst am: 28.04.2010, 07:55     Titel:
  Antworten mit Zitat      
hi leute hab nochn problem :/

Code:

[fname] = uigetfile('*.mat','select MAT-file');
evalin('caller',sprintf('load %s %s',fname))
 


also mit das hier kann ich meine mat datei auswählen und laden. also zumindest hat es bei mir funktioniert, wer da noch was ergänzen will,bitte würde mich auch freuen.

so wenn ich es aber mit gui verknüpfe

Code:

% --- Executes on button press in laden.
function laden_Callback(hObject, eventdata, handles)
% hObject    handle to laden (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
[fname] = uigetfile('*.mat','select MAT-file');
evalin('caller',sprintf('load %s %s',fname))
set(handles.text,'String',fname); % Ausgabe
 

gleich unterm button soll auch angezeigt werden welches mat geladen wurde.

aber es geht mit gui nicht warum denn? wenn ich es ganz normal als m file starte klappt es super.
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.