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

Vektoren in Tabelle ausgeben

 

moongoblin
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 57
Anmeldedatum: 29.10.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.10.2009, 17:01     Titel: Vektoren in Tabelle ausgeben
  Antworten mit Zitat      
In meiner GUI werden über einen Load-Button Daten eingelesen und 14 einzelne Vektoren à 15000 Werte erzeugt. Diese sollen nun nach dem Erzeugen (also auch als Funktion des Load-Buttons) automatisch in einem nebenstehenden Tabellenfeld ausgegeben werden.

Für alle Cracks vermutlich trivial, aber ich bin GUI- und Matlab-Anfänger und hab nirgends was gefunden um es mir selber anzulesen.
Private Nachricht senden Benutzer-Profile anzeigen


LittleX
Forum-Guru

Forum-Guru


Beiträge: 494
Anmeldedatum: 14.05.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.10.2009, 09:00     Titel:
  Antworten mit Zitat      
Hallo,

zum erstellen von Tabellen gibt es
Code:


Viele Grüße,

LittleX
Private Nachricht senden Benutzer-Profile anzeigen
 
moongoblin
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 57
Anmeldedatum: 29.10.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.10.2009, 14:22     Titel:
  Antworten mit Zitat      
Danke schonmal,
aber lösen konnte ich das Problem noch nicht:

Ich gehe nach den dortigen Erläuterungen davon aus, dass ich eine Gesamtmatrix brauche, die ich dann in der Tabelle anzeigen lasse.
Frage: Wie bekomme ich aber aus meinen Einzelvektoren eine Gesamtmatrix?
Im "normalen" Matlab ist das kein Problem, aber in der GUI-Funktion will es nicht klappen.
Über
Code:
function pushbutton_loadfile_Callback(hObject, eventdata, handles, filename)
% hObject    handle to pushbutton_loadfile (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

[filename, pathname]=uigetfile ('*.txt', 'Datei laden');  % Öffnen eines Dialogfelds zur Auswahl einer txt-Datei

% Import the file
newData = importdata(filename);

% Break the data up into a new structure with one field per column.
colheaders = genvarname(newData.colheaders);
for i = 1:length(colheaders)
    dataByColumn1.(colheaders{i}) = newData.data(:, i);
end

% Create new variables in the base workspace from those fields
% Vektoren O1 bis M werden erstellt
vars = fieldnames(dataByColumn1);
for i = 1:length(vars)
    assignin('base', vars{i}, dataByColumn1.(vars{i}));
end

lade ich 14 Einzelvektoren ein, die dann im Matlab-Workspace auch angezeigt werden.

Über
Code:
all=[O1 O2 O3 O4 O7 O8 O9 O10 O11 I3 I6 I9 I12 M]

will ich dann aus den vorher erzugeten Vektoren O1 bis M eine Matrix erzeugen, aber ich bekomme stets die Fehlermeldung, dass er die Variablen nicht kennt (obwohl er sie vorher selber erzeugt hat).

Wo ist der Fehler?
Private Nachricht senden Benutzer-Profile anzeigen
 
LittleX
Forum-Guru

Forum-Guru


Beiträge: 494
Anmeldedatum: 14.05.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.10.2009, 16:38     Titel:
  Antworten mit Zitat      
Hallo,

Du legst die Variablen im Base-Workspace an (Argument 'base' in assignin), eine Funktion hat aber einen eigenen Workspace (und kennt damit die Variablen aus Base nicht).


Viele Grüße,

LittleX
Private Nachricht senden Benutzer-Profile anzeigen
 
moongoblin
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 57
Anmeldedatum: 29.10.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.11.2009, 09:15     Titel:
  Antworten mit Zitat      
Sorry, irgendwie hackt es bei mir grundsätzlich noch bei der Übergabe von Variablen und Inhalten...

Das mit dem Workspace hab ich verstanden und ausgeräumt, die Matrix 'all' wird jetzt als globale Variable im caller-workspace erzeugt.
Die Ausgabe in der Tabelle will trotzdem nicht gelingen. Mein Ansatz ist, dass ich set benutze, um die Eigenschaft 'data' der Tabelle mit der Matrix 'all' zu füllen, siehe unten.
Code:
set (handles.uitable_daten, 'data', num2str(get(pushbutton_loadfile,'all')));


Vermutlich liegt der Fehler daran, dass ich all so nicht übergeben darf. Wie geht es sonst?
Sad
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.