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

Unterschied Readmatrix, Readtable, Readcell

 

Matlab_Neuling

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.04.2020, 10:14     Titel: Unterschied Readmatrix, Readtable, Readcell
  Antworten mit Zitat      
Grüß euch,
nachdem der Befehl xlsread nicht empfohlen wird, wollte ich nachfragen welcher der drei Befehle (Readmatrix, Readtable, Readcell) sich am besten eignet um Zahlen als auch Text aus einer Excel zu importieren. Denn mit Readmatrix wird der Text schließlich nicht erkannt, und mit den anderen 2 Befehlen haben die Variablen den Datentyp cell oder table.
Lg


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 19.04.2020, 10:30     Titel:
  Antworten mit Zitat      
Hallo,

wenn die Daten tabellarisch sind, würde ich readtable verwenden, da das ideal für tabellarische Daten gemischten Datentyps ist. Wenn du mit einer speziellen Datei Probleme hast, ist es am besten einen Ausschnitt dieser Datei (ggf. gezippt) anzuhängen.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
Matlab_Neuling

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.04.2020, 10:48     Titel:
  Antworten mit Zitat      
Hallo,
wenn ich readmatrix verwende haben meine Variablen-Zahlenwerte automatisch den Datentyp double, wodurch sich diese auch in einem plot einlesen lassen um eine vertikale Linie zu erstellen (dafür das Problem mit den Kommentaren - NaN). Habs grad mit readtable probiert, und die Variable mit Datentyp table kann nicht verwendet werden um diese Linie zu erstellen. Wie wandle ich die dann am besten um?
LG
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 19.04.2020, 11:07     Titel:
  Antworten mit Zitat      
Hallo,

siehe hier:
https://www.mathworks.com/help/matl.....cess-data-in-a-table.html
insbesondere: "Array, extracting data from one variable"

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
Matlab_Neuling

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.04.2020, 11:56     Titel:
  Antworten mit Zitat      
Hallo,
könntest du mir das mit "T." bitte erklären? Ich versteh denn Sinn dahinter nicht ganz.
Ich möchte außerdem aus meiner Tabelle 10 Zahlenwerte und 10 Textwerte importieren.
LG
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 19.04.2020, 12:34     Titel:
  Antworten mit Zitat      
Hallo,

der Sinn ist das zu erreichen, was du möchtest: Daten aus dem Table rauszuholen.
Nach dem T. muss der Spaltenname folgen.

Zitat:
Ich möchte außerdem aus meiner Tabelle 10 Zahlenwerte und 10 Textwerte importieren.

Sind diese in Zeilen oder in Spalten? Und: wo ist jetzt das Problem dabei, wenn du readtable verwendest?

Für weitere Unterstützung am besten einen Ausschnitt der Datei (ggf. gezippt) anhängen.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
Matlab_Neuling

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.04.2020, 13:04     Titel:
  Antworten mit Zitat      
Hallo,
hab unten ein Foto angehängt. Mithilfe von readtable erhalte ich ich meine variable settings (10x7 table). Dann hol ich mir Werte raus, zb. speed = settings (1,1);
Jedoch kann mit der Variable speed aufgrund des Datentyps nicht weitergerechnet werden. Also müssten alle Zahlenwerte als Double oder ähnliches ausgegeben werden. Das selbe Problem mit den Kommentaren.
LG

Excel_Foto.PNG
 Beschreibung:

Download
 Dateiname:  Excel_Foto.PNG
 Dateigröße:  18.71 KB
 Heruntergeladen:  319 mal
 
Harald
Forum-Meister

Forum-Meister


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

* wie rufst du readtable auf? Wenn die Tabelle nicht bei A1 beginnt, sollte man die Option 'Range' verwenden
* Warum verwendest du nicht . ?
* Warum verwendest du ( ) ? Im Link steht doch klar, dass man { } verwenden soll, wenn man ein Array haben möchte.

Hänge die Datei bitte nicht als Bild an, sondern wirklich gezippt als Originalformat. Zum einen verstecken sich in Dateien oft Formatierungen, die man im Bild nicht sieht, und zum anderen habe ich nicht vor, die Datei abzutippen, um etwas damit zu testen. ;)

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
Matlab_Neuling

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.04.2020, 13:34     Titel:
  Antworten mit Zitat      
Hallo,
mithilfe eines Buttons in einer GUI.
Die eingelesene Variable settings beginnt dennoch bei Zeile1 & Spalte 1 mit dem ersten Zahlenwert der Spalte Speed. Also benötige ich diesen Range Befehl nicht oder?
Was meinst du mit "Warum verwendest du nicht .?" ?
Stimmt mein Fehler. Mit {} kann ich zumindest mal die Zahlenwerte nun einlesen danke!
Ich möchte also nur noch meine Kommentar Variablen so umwandeln, dass ich diese in meine Legende im Plot einfügen kann. Aktuell werden die leider nicht erkannt.
LG

Einstellungen treffen.zip
 Beschreibung:

Download
 Dateiname:  Einstellungen treffen.zip
 Dateigröße:  7.97 KB
 Heruntergeladen:  322 mal
 
Harald
Forum-Meister

Forum-Meister


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

Zitat:
Was meinst du mit "Warum verwendest du nicht .?" ?

warum du nicht die von mir vorgeschlagene Syntax mit . verwendest, z.B.
Code:
settings.Comment


Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
Matlab_Neuling

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.04.2020, 13:52     Titel:
  Antworten mit Zitat      
Hallo,
achso um gleich eine ganze Spalte auszuwählen... . Ich brauche sowieso alle Variablen einzeln, daher macht das so weit ich das jetzt verstanden habe doch keinen Unterschied ob ich diese aus der ganzen Tabelle festlege oder ob ich sie spaltenweise aufteile und dann einzeln festlege.
Aber auch wenn ich das spaltenweise erledige bsp. c_all = settings.Comment;
als Spalte anlege, hat die Variable immer noch den Datentyp cell.
 
Harald
Forum-Meister

Forum-Meister


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

Zitat:
hat die Variable immer noch den Datentyp cell.

Das ist bei einer Textspalte nicht ungewöhnlich. Was erwartest du denn stattdessen?
Mit { } kann man einzelne Einträge aus dem Cell Array ziehen.

Zitat:
Ich brauche sowieso alle Variablen einzeln

Was bezeichnest du als "Variable"? In MATLAB-Sprace ist das entweder ein Eintrag im Workspace oder eine Spalte eines Tables. Du meinst aber wohl nochmal was anderes?

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
Matlab_Neuling

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.04.2020, 14:13     Titel:
  Antworten mit Zitat      
Hallo,
hab jetzt noch ein wenig herumprobiert,

Code:

c_all = settings.Comment;
c1 = c_all {1};
 


Funktioniert jetzt prima vielen Dank!
Lg
 
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.