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

datei frei wählen zum einlesen

 

ms1080
Forum-Century

Forum-Century


Beiträge: 203
Anmeldedatum: 02.12.09
Wohnort: ---
Version: R2009
     Beitrag Verfasst am: 07.04.2010, 12:41     Titel: datei frei wählen zum einlesen
  Antworten mit Zitat      
hi

ich mal wieder, ich möchte in meinem programm datein frei vom nutzer auswählen lassen. das programm soll von verschieden nutzern genutzt werden, und desegen müssen sie dem programm selber sagen, wo die datei auf ihrem rechner liegt, leider funktioniert das nicht so wie ich will, weil ich die datei dann nicht bearbeiten kann wie ich es gerne hätte.

Code:

datei1 = uigetfile('*.txt','Bitte Datei auswählen');
   fid = fopen(fullfile('D:\','datei1.txt'),'r');
   assignin('base','datei1',fullfile('D:\'));          
   w1 = evalin('base','datei1');                                        
      rawdata = textscan(w1,'%f %f %f','headerlines',8);                  
      data = rawdata{3};                                                  
      data = reshape(data,1200,250);                                      
   fclose(fid);
 


die datei will ich dann einlesen, brauche aber nicht alle werte. überschrifft soll weg (8 zeilen), und dann stehen immer drei werte in einer zeile, wobei da immer nur der dritte von bedeutung ist. diese werte sollen dann in einer 1200x250 matrix erzeugt werden.

bitte um hilfe, bzw vorschläge, was ich in meinem programm falsch mache.

danke[i]

bsp.txt
 Beschreibung:
hier eine der datein

Download
 Dateiname:  bsp.txt
 Dateigröße:  4.02 MB
 Heruntergeladen:  651 mal
Private Nachricht senden Benutzer-Profile anzeigen


denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 07.04.2010, 13:27     Titel:
  Antworten mit Zitat      
Hallo,

Fehler 1: du holst zwar die Datei über uigetfile, nutzt diese aber nicht bei fopen

Fehler2: File Identifier(fid) an textscan übergeben

so sollte es funktionieren, 2 Zeilen die ich nicht verstehe und mir unnötig erschienen habe ich auskommentiert
Code:

[txtfile, path2txt]= uigetfile('*.txt','Bitte Datei auswählen');
   fid = fopen(fullfile(path2txt,txtfile),'r');
%    assignin('base','datei1',fullfile('D:\'));          
%    w1 = evalin('base','datei1');                                        
      rawdata = textscan(fid,'%f %f %f','headerlines',8);                  
      data = rawdata{3};                                                  
      data = reshape(data,1200,250);                                      
   fclose(fid);
 
Private Nachricht senden Benutzer-Profile anzeigen
 
ms1080
Themenstarter

Forum-Century

Forum-Century


Beiträge: 203
Anmeldedatum: 02.12.09
Wohnort: ---
Version: R2009
     Beitrag Verfasst am: 07.04.2010, 14:00     Titel:
  Antworten mit Zitat      
genau so soll es sein, danke schonmal.

gibt es eine möglichkeit die erzeugte matrix auch als exeltabelle zu speichern? ambesten so, dass der nutzer selber sagen kann, wo er sie speichern will.

mfg schmidty
Private Nachricht senden Benutzer-Profile anzeigen
 
Zenon
Forum-Guru

Forum-Guru


Beiträge: 292
Anmeldedatum: 20.01.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.04.2010, 14:09     Titel:
  Antworten mit Zitat      
Ich denke dann solltest Du mit...

Code:

[FileName,PathName] = uiputfile(...);
xlswrite(fullfile(PathName,FileName), M);
 


...arbeiten.
Private Nachricht senden Benutzer-Profile anzeigen
 
ms1080
Themenstarter

Forum-Century

Forum-Century


Beiträge: 203
Anmeldedatum: 02.12.09
Wohnort: ---
Version: R2009
     Beitrag Verfasst am: 07.04.2010, 14:17     Titel:
  Antworten mit Zitat      
mal ne ganz ganz dumme frage, bin echt endtäuscht von mir selber, aber zum verständniss:

txtfile und path2txt sind einfach nur variabeln, dafür soll ich nicht sowas wie:
bsp.txt oder d:/neuer ordner schreiben??!!

das gleiche gilt auch für filename und pathname???!!!

bin glaube ich heute morgen mit wucht gegen die wand helaufen, bitte um antwort!
Private Nachricht senden Benutzer-Profile anzeigen
 
Zenon
Forum-Guru

Forum-Guru


Beiträge: 292
Anmeldedatum: 20.01.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.04.2010, 14:23     Titel:
  Antworten mit Zitat      
Ja das sind in allen Fällen Variablen, die du mittels uigetfile bzw. uiputfile mit dem Pfad oder Dateinamen befüllst (dafür ist ja die Auswahl da).

Code:

fullfile(PathName,FileName)
 


Setzt dann den Pfad vor den Dateinamen und noch je nach Betriebssystem ein / oder \ dazwischen...
Private Nachricht senden Benutzer-Profile anzeigen
 
ms1080
Themenstarter

Forum-Century

Forum-Century


Beiträge: 203
Anmeldedatum: 02.12.09
Wohnort: ---
Version: R2009
     Beitrag Verfasst am: 07.04.2010, 14:43     Titel:
  Antworten mit Zitat      
okay danke, habe ich mir zwar schon so gedacht, wollte es aber irgendwie nicht ganz glauben.
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.