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

Daten laden/einlesen

 

creme
Forum-Century

Forum-Century


Beiträge: 106
Anmeldedatum: 10.07.17
Wohnort: ---
Version: 2019b
     Beitrag Verfasst am: 06.11.2020, 14:54     Titel: Daten laden/einlesen
  Antworten mit Zitat      
Hallo,

ich lade mit einer callback-function in guide *.txt-Dateien hoch. Das ganze passiert nach drücken des button mit folgenden code

Code:
[FileName0, PathName0]=uigetfile({'*.txt'}, 'Datei waehlen');
if FileName0~=0
Ausgangsdaten= textread([PathName0 FileName0],'%s','delimiter','\n','whitespace','');
......


Nun werden die *.txt-Dateien immer größer, sodass ich eine Fehlermeldung erhalte:

Ausgangsdaten=
textread([PathName0
FileName0],'%s','delimiter','\n','whitespace','');

Error in gui_mainfcn
(line 95)
feval(varargin{:});


was kann ich tun damit ich sowohl größere als auch nach wie vor die kleineren Datensätze einlesen kann?

Grüße
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: 06.11.2020, 15:14     Titel:
  Antworten mit Zitat      
Hallo,

die eigentliche Fehlermeldung fehlt.

textread ist nicht mehr empfohlen, stattdessen textscan. Je nach Dateistruktur dürften readmatrix oder readtable noch besser geeignet sein.
Die Größe der importierbaren Dateien ist an sich nur durch den Hauptspeicher beschränkt. Wenn du also nicht mehrere GB große Dateien hast, sollte das kein Problem sein - und selbst dann gibt es Lösungen.

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
 
creme
Themenstarter

Forum-Century

Forum-Century


Beiträge: 106
Anmeldedatum: 10.07.17
Wohnort: ---
Version: 2019b
     Beitrag Verfasst am: 06.11.2020, 15:37     Titel:
  Antworten mit Zitat      
Hallo Harald,

deine Alternativen funktionieren nicht. Weder für die bisher verwendeten *.txt -Dateien noch für die größeren.

Im Anhang kannst du die Fehlermeldung sehen bei Verwendung von readtable. readscan und readmatrix geht ebenfalls nicht.

fehler.JPG
 Beschreibung:

Download
 Dateiname:  fehler.JPG
 Dateigröße:  79.01 KB
 Heruntergeladen:  218 mal
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: 06.11.2020, 15:50     Titel:
  Antworten mit Zitat      
Hallo,

einfach den Befehl ersetzen reicht nicht. Du musst dich schon ein wenig mit der Syntax der Befehle auseinandersetzen. Insbesondere musst du bei readtable das '%s' weglassen, denn das erkennt das Format der Dateien automatisch. Das Ergebnis wird bei readtable auch ein Table sein und somit anders als von textread.

Ich würde das Einlesen der Datei außerhalb der GUI testen und das danach in die GUI einbauen. Wenn du einen Dateiausschnitt zur Verfügung stellen kannst, kann ich gerne genauere Vorschläge zum Einlesen machen.

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
 
creme
Themenstarter

Forum-Century

Forum-Century


Beiträge: 106
Anmeldedatum: 10.07.17
Wohnort: ---
Version: 2019b
     Beitrag Verfasst am: 06.11.2020, 15:58     Titel:
  Antworten mit Zitat      
Hallo Harald,
ein Teil solch einer Datei kann so aussehen

Ausschnitt 1.JPG
 Beschreibung:

Download
 Dateiname:  Ausschnitt 1.JPG
 Dateigröße:  354.27 KB
 Heruntergeladen:  211 mal


Zuletzt bearbeitet von creme am 06.11.2020, 17:45, insgesamt 2-mal bearbeitet
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: 06.11.2020, 17:23     Titel:
  Antworten mit Zitat      
Hallo,

sorry, ich hätte mich klarer ausdrücken sollen: es geht mir um einen Dateiausschnitt der einzulesenden Datendatei.

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
 
creme
Themenstarter

Forum-Century

Forum-Century


Beiträge: 106
Anmeldedatum: 10.07.17
Wohnort: ---
Version: 2019b
     Beitrag Verfasst am: 06.11.2020, 17:46     Titel:
  Antworten mit Zitat      
Hallo,

oben im editierten Beitrag findest du einen solchen Ausschnitt.

ausschnitt2.JPG
 Beschreibung:

Download
 Dateiname:  ausschnitt2.JPG
 Dateigröße:  411.09 KB
 Heruntergeladen:  220 mal
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: 09.11.2020, 10:04     Titel:
  Antworten mit Zitat      
Hallo,

ich habe es mal mit den zur Verfügung gestellten Dateien versucht und hatte mit readtable und readmatrix keine Probleme:
Code:
data = readtable('Beispiel.txt', 'ReadVariableNames', false, 'Delimiter', {'\t', ':'});
data = readtable('Beispiel.txt', 'Delimiter', {'\t', ':'});


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
 
creme
Themenstarter

Forum-Century

Forum-Century


Beiträge: 106
Anmeldedatum: 10.07.17
Wohnort: ---
Version: 2019b
     Beitrag Verfasst am: 09.11.2020, 10:31     Titel:
  Antworten mit Zitat      
Hallo Harald,

bei mir sieht das jetzt folgendermaßen aus:
Code:
[FileName0, PathName0] = uigetfile({'*.txt'}, 'Datei wählen');  

if FileName0~=0
    Ausgangsdaten = readtable([PathName0 FileName0], 'ReadVariableNames', false, 'Delimiter', {'\t', ':'});


Ich möchte ja nach wie vor selbst entscheiden welche Datei geladen wird.

Bekomme aber eine Fehlermeldung. immer in legacyReadtable.m -> throwAsCaller(ME)

Crying or Very sad Crying or Very sad

Fehlermeldung.JPG
 Beschreibung:

Download
 Dateiname:  Fehlermeldung.JPG
 Dateigröße:  96.09 KB
 Heruntergeladen:  211 mal
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: 09.11.2020, 11:15     Titel:
  Antworten mit Zitat      
Hallo,

welches Release verwendest du denn?

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
 
creme
Themenstarter

Forum-Century

Forum-Century


Beiträge: 106
Anmeldedatum: 10.07.17
Wohnort: ---
Version: 2019b
     Beitrag Verfasst am: 09.11.2020, 11:17     Titel:
  Antworten mit Zitat      
Hallo,

wenn du die Matlab-Version meinst, mit welcher ich arbeite... 2019

gruß
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: 09.11.2020, 11:39     Titel:
  Antworten mit Zitat      
Hallo,

ja, meine ich. Bitte generell bei Fragen die verwendete MATLAB-Version angeben oder noch besser ins Profil eintragen, und dann auch a oder b dazu schreiben.

Folgendes klappt bei mir in R2019a:
Code:
data = readtable('Beispiel.txt', 'Delimiter', {'\t', ':'}, 'ReadVariableNames', false, 'Headerlines', 23, 'CommentStyle', 'SourceLayer');


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
 
creme
Themenstarter

Forum-Century

Forum-Century


Beiträge: 106
Anmeldedatum: 10.07.17
Wohnort: ---
Version: 2019b
     Beitrag Verfasst am: 09.11.2020, 11:54     Titel:
  Antworten mit Zitat      
Hallo,

ich habe es jetzt folgendermaßen ergänzt:
Code:
[FileName0, PathName0] = uigetfile({'*.txt'}, 'Datei wählen');  


if FileName0~=0
    Ausgangsdaten = readtable([PathName0 FileName0], 'Delimiter', {'\t', ':'}, 'ReadVariableNames', false, 'Headerlines', 23, 'CommentStyle', 'SourceLayer');

data=Ausgangsdaten(24:end-2);
....
 


bekomme aber mit Version 2019b nach wie vor eine Fehlermeldung Question

fehler_.JPG
 Beschreibung:

Download
 Dateiname:  fehler_.JPG
 Dateigröße:  63.48 KB
 Heruntergeladen:  198 mal
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: 09.11.2020, 13:04     Titel:
  Antworten mit Zitat      
Hallo,

die Fehlermeldung kommt wohl von dieser Zeile:
Code:
data=Ausgangsdaten(24:end-2);

Wenn du Zeilen extrahieren möchtest, musst du Zeilen-Spalten - Indizierung verwenden:
Code:
data=Ausgangsdaten(24:end-2,:);


Bist du dir aber sicher, dass du das willst? Der Befehl überspringt ja eben schon die 23 Kopfzeilen und fängt überhaupt erst bei Zeile 24 an zu lesen.

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
 
creme
Themenstarter

Forum-Century

Forum-Century


Beiträge: 106
Anmeldedatum: 10.07.17
Wohnort: ---
Version: 2019b
     Beitrag Verfasst am: 09.11.2020, 13:18     Titel:
  Antworten mit Zitat      
Hallo Harald,

ja ab zeile 24 sind es auch die Daten welche ich brauche. Aber weder die kleinen noch die große Datei lässt sich jetzt auslesen.


Die Fehlermeldung zieht sich jetzt natürlich weiter..

Fehler_.JPG
 Beschreibung:

Download
 Dateiname:  Fehler_.JPG
 Dateigröße:  106.04 KB
 Heruntergeladen:  194 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen

Gehe zu Seite 1, 2  Weiter

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.