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

Hilfe zu uitable Funktion

 

sick
Forum-Anfänger

Forum-Anfänger


Beiträge: 26
Anmeldedatum: 28.08.08
Wohnort: ---
Version: MATLAB Version 7.0.4.365 (R14) Service Pack 2
     Beitrag Verfasst am: 08.09.2008, 12:06     Titel: Hilfe zu uitable Funktion
  Antworten mit Zitat      
Hallo,

ich hoffe es kann mir dabei jemand weiterhelfen.
Ich möchte Daten mit der Funktion uitable tabellarisch darstellen.
Insgesamt sind es 13 Spalten und ca. 1000 Zeilen.
Hat hier jemand eine Ahnung wie ich die Daten mit uitable darstellen könnte? Vieln Dank im voraus.

Bye
Private Nachricht senden Benutzer-Profile anzeigen


nschlange
Ehrenmitglied

Ehrenmitglied



Beiträge: 1.320
Anmeldedatum: 06.09.07
Wohnort: NRW
Version: R2007b
     Beitrag Verfasst am: 08.09.2008, 12:52     Titel:
  Antworten mit Zitat      
Hi,

versuch es so:
Code:
clear all;
clc;
f = figure('Units','Normalized','Position',[0.1 0.1 0.8 0.8]);
zeilen=1000;
spalten=13;
daten = rand(zeilen,spalten);
colnames = cellfun(@char,num2cell(64+(1:spalten)),'uniformoutput',0);
t = uitable('Data',daten,'ColumnName',colnames,'Parent',f,'Units','Normalized','Position',[0 0 1 1]);

_________________

Viele Grüße
nschlange

"Chuck Norris ejakuliert fluessigen Stahl!"
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
sick
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 26
Anmeldedatum: 28.08.08
Wohnort: ---
Version: MATLAB Version 7.0.4.365 (R14) Service Pack 2
     Beitrag Verfasst am: 08.09.2008, 13:07     Titel:
  Antworten mit Zitat      
Danke für die schnelle Antwort, leider funzt es nicht.
Fehlermeldung von Matlab: ??? Too many inputs.
Wie kann man dann auf die einzelnen Felder zugreifen?
Private Nachricht senden Benutzer-Profile anzeigen
 
nschlange
Ehrenmitglied

Ehrenmitglied



Beiträge: 1.320
Anmeldedatum: 06.09.07
Wohnort: NRW
Version: R2007b
     Beitrag Verfasst am: 08.09.2008, 13:21     Titel:
  Antworten mit Zitat      
Hm, bei mir funktionierts.
An welcher Stelle wird der Fehler geworfen? Hast Du nicht komplett Copy&Paste gemacht?

Die Daten im uitable sind nur eine Kopie der Originaldaten, wenn Du das Eine änderst wird sich das Andere nicht mitändern.
Ich hab das zwar noch nicht gemacht, müsste aber mit 'ColumnEditable' und 'CellEditCallback' machbar sein. Du kannst beides in der Hilfe unter 'Uitable Properties' nachgucken.
_________________

Viele Grüße
nschlange

"Chuck Norris ejakuliert fluessigen Stahl!"
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
sick
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 26
Anmeldedatum: 28.08.08
Wohnort: ---
Version: MATLAB Version 7.0.4.365 (R14) Service Pack 2
     Beitrag Verfasst am: 08.09.2008, 13:27     Titel:
  Antworten mit Zitat      
Matlab macht nur in dieser Zeile Probleme:

colnames = cellfun(@char,num2cell(64+(1:spalten)),'uniformoutput',0);

Fehlermeldung: ??? Too many inputs.

In der Hilfe steht nix von der Funktion Uitable drin.

Ich habe folgende Matlab Version:
MATLAB Version 7.0.4.365 (R14) Service Pack 2

Wo kann man die Eigenschaften sehen?
Private Nachricht senden Benutzer-Profile anzeigen
 
nschlange
Ehrenmitglied

Ehrenmitglied



Beiträge: 1.320
Anmeldedatum: 06.09.07
Wohnort: NRW
Version: R2007b
     Beitrag Verfasst am: 08.09.2008, 13:33     Titel:
  Antworten mit Zitat      
Ok, die erste Zeile macht nur Spaltennamen, die könntest Du auch weglassen. Das hilft Dir aber nicht, da es uitable wohl erst seit Matlab-Version R2008a (7.6) gibt. Ich bin davon ausgegangen, dass Du die hast wenn Du explizit nach uitable fragst. Um solche Missverständnisse zu vermeiden kann man in seinem Foren-Profil auch die verwendete Matlab-Version angeben Wink .
Die Doku kannst Du aber auch online lesen, z.B. hier:
uitable

Edit: Link repariert...
_________________

Viele Grüße
nschlange

"Chuck Norris ejakuliert fluessigen Stahl!"
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
sick
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 26
Anmeldedatum: 28.08.08
Wohnort: ---
Version: MATLAB Version 7.0.4.365 (R14) Service Pack 2
     Beitrag Verfasst am: 08.09.2008, 14:11     Titel:
  Antworten mit Zitat      
Danke!

Gibt es noch eine Alternative dazu?
Ich muss die Daten in eine Tabelle anzeigen lassen.
Private Nachricht senden Benutzer-Profile anzeigen
 
nschlange
Ehrenmitglied

Ehrenmitglied



Beiträge: 1.320
Anmeldedatum: 06.09.07
Wohnort: NRW
Version: R2007b
     Beitrag Verfasst am: 08.09.2008, 15:18     Titel:
  Antworten mit Zitat      
...vielleicht mit
Code:
und co. die Daten formatiert in ein Textfeld schreiben.
_________________

Viele Grüße
nschlange

"Chuck Norris ejakuliert fluessigen Stahl!"
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
sick
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 26
Anmeldedatum: 28.08.08
Wohnort: ---
Version: MATLAB Version 7.0.4.365 (R14) Service Pack 2
     Beitrag Verfasst am: 15.09.2008, 13:22     Titel:
  Antworten mit Zitat      
Folgender Code funktioniert nun bei mir.
Allerdings bin ich immer noch ratlos wie ich eine einzelne Zelle ansprechen kann, bzw. wie man die Spalten beschriftet.

Code:

figure(1);
d_init = cell(5, 5);
for r = 1:5      
    for c = 1:5          
        d_init{r,c} = 5;
    end
end

t = uitable(5,5,'Position',[1 1 300 420]);
t.Data = d_init;
 
Private Nachricht senden Benutzer-Profile anzeigen
 
nschlange
Ehrenmitglied

Ehrenmitglied



Beiträge: 1.320
Anmeldedatum: 06.09.07
Wohnort: NRW
Version: R2007b
     Beitrag Verfasst am: 15.09.2008, 16:04     Titel:
  Antworten mit Zitat      
Hi,

versuch mal:
Code:
clear all;
clc;
figure(1);
d_init = cell(5, 5);
for r = 1:5      
    for c = 1:5          
        d_init{r,c} = 5;
    end
end
colnames={'Eins'; 'Zwei'; 'Drei'; 'Vier'; 'Fünf'};
t = uitable(5,5,'Position',[1 1 400 420]);
set(t,'ColumnNames',colnames)
t.Data = d_init;

Offenbar ist das aber eine ältere Methode uitable zu benutzen, jedenfalls kommt dieser Hinweis unter R2008a. Wer klärt mich diesbezüglich mal auf?
Seit wann geht das überhaupt?
_________________

Viele Grüße
nschlange

"Chuck Norris ejakuliert fluessigen Stahl!"
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.022
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2023b
     Beitrag Verfasst am: 15.09.2008, 16:19     Titel:
  Antworten mit Zitat      
Moin,

seit wann es den Befehl uitable gibt, kann ich dir leider nicht sagen, aber auf jeden Fall stand in der Hilfe (über >> help uitable) dieses Vorgehen als Mittel der Wahl. Ich denke erst mit der Vervollständigung und Dokumentation des Befehls in R2008a wird dieses Vorgehen nicht mehr "benötigt" da nun auch die anderen Properties vollständig implementiert sind...

Gruß
Alex

PS: Keine Garantie für Richtigkeit Wink
_________________

>> I told me to.

____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
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.