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

Erstellen einer uitable in Matlab 7.5(R2007b)

 

Driss
Forum-Anfänger

Forum-Anfänger


Beiträge: 45
Anmeldedatum: 13.10.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.12.2011, 22:16     Titel: Erstellen einer uitable in Matlab 7.5(R2007b)
  Antworten mit Zitat      
Hallo Zusammen,

ich bin ein neuer Anfänger in Gui und ich bin dabei ein Gui zu erstellen.

Ich konnte alle Elemente der Gui ausbrobieren und verwenden außer die

uitable function. Denn ich finde die Block-function dafür nicht in Matlab 2007b.

Wenn ich aber die function uitable in Command Window eingebe erscheint Figure1 mit ener Tabelle (2*2).

kann mir jemand sagen, wie ich eine Tabelle in meiner Gui bekomme?

Danke im Vorraus

Driss
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 28.12.2011, 13:01     Titel:
  Antworten mit Zitat      
Hallo,

erstellst du die GUI mit GUIDE oder programmatisch?
UITABLE wurde erst in 2008a offiziell ins Produkt aufgenommen; du nutzt also ein undokumentiertes Feature.

Für die programmatische Nutzung sollte die Dokumentation im Internet weiterhelfen, siehe hier:
http://www.mathworks.de/help/techdoc/ref/uitable.html
Das ist allerdings die 2011b-Doku, es kann sich also etwas geändert haben.

Eine Nutzung in GUIDE dürfte schwierig werden.

Das sinnvollste wäre wohl der Umstieg auf eine neuere Software-Version.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Driss
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 45
Anmeldedatum: 13.10.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.12.2011, 19:52     Titel:
  Antworten mit Zitat      
Hallo Harald,

ich danke dir für die Antwort. Ich benutze die GUIDE direkt.

Gibt es in diesem Fall eine Möglichkeit auf numariche Daten im Workspace zuzugreifen?. Ich bin dabei Daten mit unterschiedlichen Format zu importieren und zu filtern, so daß ich Parameter mit real Zahlen bekomme.

Nun möchte ich gerne mit einem Klick(was auch immer) diese Parameter über meine Gui ploten.

Ich weiss es nicht, wie ich es hinkriege?

Danke

Driss
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 29.12.2011, 14:42     Titel:
  Antworten mit Zitat      
Hallo,

ich verstehe die Frage nicht.
Natürlich kannst du auf einen Workspace zugreifen, die Frage ist: auf welchen? Um zu plotten, brauchst du an sich nur ein Koordinatensystem in das GUI zu integrieren und den Plot "ganz normal" erstellen.

Das Durcharbeiten grundlegender Beispiele zu GUIs und Funktionen könnte dir helfen, selbst auf die Lösung des Problems zu kommen.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Driss
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 45
Anmeldedatum: 13.10.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.12.2011, 19:13     Titel:
  Antworten mit Zitat      
Hallo Harald,

ich habe ca. 100 variabeln mit unterschiedlichen Größen. Diese Variabeln sind im Workspace sowie auch in einem mat-file gespeichert.

Nun möchte ich als User erstmal diese Daten(Variabeln) in meiner Gui haben.

Uns so kann ich die Daten, die ich ploten möchte auswählen und dann ploten.

Gruß

Driss
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 29.12.2011, 20:03     Titel:
  Antworten mit Zitat      
Hallo,

Variablen wirst du nie "in der GUI" haben. Bestenfalls die dahinterliegenden Daten.
Und: Wie willst du die Variablen auswählen?
In dem Callback musst du dann dafür sorgen, dass die entsprechenden Daten zur Verfügung stehen.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Driss
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 45
Anmeldedatum: 13.10.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.12.2011, 21:53     Titel:
  Antworten mit Zitat      
Hallo Harald,

meine Idee ist, daß ich eine Tabelle mit Name und Value erzeuge. Es wird fast wie die Struktur von Workspace aussehen.

So dachte ich, daß ich auf die Namen klicke, dann wird automatisch ein plot generiert. Deswegen habe von Anfang an, an uitable gedacht.

Gruß

Driss
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: 29.12.2011, 22:49     Titel:
  Antworten mit Zitat      
Hallo Driss,

Für Dich mag das ganz klar sein. Ich kann mir aber darunter nichts vorstellen:
Zitat:
Es wird fast wie die Struktur von Workspace aussehen.


Ich nehme an, es wäre die beste Idee, Du fängst einfach an, das GUI so zu implementieren, wie Du es Dir vorstellst, und postest Matlab-betreffende Probleme, falls welche auftreten.

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

Forum-Anfänger

Forum-Anfänger


Beiträge: 45
Anmeldedatum: 13.10.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 31.12.2011, 14:41     Titel:
  Antworten mit Zitat      
Hallo Jan,

zu erst danke ich dir für die Antwort. Ich habe hier einen neuen Vorschlag.

Über Zwei pushbutton möchte ich plot erzeugen. Nach dem ich über load Daten (Parameter.mat) zur Workspace hole, kann ich auf die Variabelnnamen zugreifen mit whos. Meine Frage ist nun, wie kann ich auf den Inhalt der Namen zugreifen.

Mit dem pushbutton(plotuppushbutton) möchte ich die einzelnen Variabeln Vorwärts wnach und nach ploten.

Mit dem pushbutton(plotdownpushbutton) möchte ich die einzelnen Variabeln Rückwärts nach und nach ploten.

Dies erfolt mit hilfe einer Anzeige, welche die aktuelle figurenummer(figurenumber) zeigt. Dies hat als initialwert 0.

Mein Code:
Code:
% --- Executes on button press in plotuppushbutton.
function plotuppushbutton_Callback(hObject, eventdata, handles)
% hObject    handle to plotuppushbutton (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

  i = get(handles.figurenumber, 'string')
   
    i = str2num(i) + 1;
   
    set(handles.figurenumber, 'string',num2str(i))
   
   %  
   load('D:\Parameter.mat')

   RR = whos
   
    limit = size(RR,1)

   var_name = RR(i).name
   

    set(handles.textaction, 'string', 'Plot Axes button pushed')
   
    set(handles.figurenumber, 'string',num2str(i))
   

 

% Hier ist mein Problem ich möchte den x und y das Inhalt von
% var_name = RR(i).name zufügen. Wie kann ich es bekommen.


%Beispiel für das Plot
    x = 0:10;

    y = 0:10;

    plot(x,y);
    title('Axes');
    xlabel('X data');
    ylabel('Y data');
%     box('on')
%     hold('on')
%     grind on
   
    set(hline,'LineStyle','-')

guidata(hObject,handles);   % updates the handles



% --- Executes on button press in plotdownpushbutton.
function plotdownpushbutton_Callback(hObject, eventdata, handles)
% hObject    handle to plotdownpushbutton (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
 i = get(handles.figurenumber, 'string')
   
    i = str2num(i) - 1;
   
    set(handles.figurenumber, 'string',num2str(i))
   


   RR = whos

   limit = size(RR,1)

   var_name = RR(i).name

% Hier ist mein Problem ich möchte den x und y das Inhalt von
% var_name = RR(i).name zufügen. Wie kann ich es bekommen.


%Beispiel für das Plot


    x = 0:10;

    y = 0:10;

    plot(x,y);
    title('Axes');
    xlabel('X data');
    ylabel('Y data');
%     box('on')
%     hold('on')
%     grind on
   
    set(hline,'LineStyle','-')

guidata(hObject,handles);   % updates the handles


Gruß

Driss
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 31.12.2011, 15:31     Titel:
  Antworten mit Zitat      
Hallo,

es dürfte leichter sein, wenn du die Parameter in eine struct-Variable lädst:
Code:
data = load('D:\Parameter.mat');


Dann sind
Code:

die verfügbaren Variablen, und wenn eine ausgewählt wird, dann kannst du das zuweisen mit

Code:
x = data.(varname);


Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Driss
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 45
Anmeldedatum: 13.10.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 31.12.2011, 18:28     Titel:
  Antworten mit Zitat      
Hallo Harald,

Danke für den Tipp. Es funktioniert!

Gruß

Driss
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 - 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.