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

Nachkommastellen bei txt-file bereiten probleme

 

snidaa
Forum-Anfänger

Forum-Anfänger


Beiträge: 37
Anmeldedatum: 25.05.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 05.07.2010, 13:26     Titel: Nachkommastellen bei txt-file bereiten probleme
  Antworten mit Zitat      
hallo,
ich habe ein txt-file, der eine matrix mit 1024 zeilen und 1280 spalten darstellt (tabstop). die erste zeile ist der header und soll übersprungen werden. jetzt versuche ich eine maxtrix zu bilden, die die nachkommastellen wegfallen lässt oder auf- bzw. abrundet. da es sich um viele files handelt, muss ich die dateien mit fopen einlesen.
der code:
Code:
fid=fopen('B00001.txt','r');          
    fgetl(fid);                            
    A=fscanf(fid,'%d');                    
    fclose(fid);                          
    B=transpose(reshape(A,1280,1024));  


die matrix sieht ungefähr so aus:
Zitat:
1440.43 1430.8 1426.6 1418.53 1411.3 1417.87 1414.77 1417.7 1432.43 1407.77 1412.33 1401.33 1403.33 1406.33 1397.6 1388.57 1395.27 1378.93 1389.6 1389.7 1376.93 1377.57 1366.13 1375.17 1371.73 1373.1 1372.7 1366.2 1351.53 1354.8 1330.83 1335.77 1329.7 1345.73 1343.03 1331.47 1325.1 1325.13 1317.27 1321.5 1327.63 1313.9 1321.83 1320.53 1301.87 1309 1300.63 1297.47 1292.3 1298.33 1291.9 1287.73 1281.77 1275.07 1275.8 1271.23 1262.97 1250.63 1262.47 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0


wäre super, wenn jmd ne lösung parat hätte
Private Nachricht senden Benutzer-Profile anzeigen


snidaa
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 37
Anmeldedatum: 25.05.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.07.2010, 08:28     Titel:
  Antworten mit Zitat      
wäre echt super, wenn jemand doch ne idee hätte
Private Nachricht senden Benutzer-Profile anzeigen
 
Napoleon

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.07.2010, 08:43     Titel:
  Antworten mit Zitat      
hallo,

ich weiss nicht ob dein problem richtig verstehe aber warum machst du nicht einfach:
Code:

B=fix(transpose(reshape(A,1280,1024)));  
 
 
snidaa
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 37
Anmeldedatum: 25.05.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.07.2010, 09:12     Titel:
  Antworten mit Zitat      
mein poblem ist, dass er ja hier
Code:

einen vektor mit einer spalte und zig zeilen erstellt.
aber statt (1280*1024=) 1310720 Zeilen zu haben besteht der vektor nur aus 116736. scheinbar kommt er mit den nachkommastellen nicht klar. und deshalb kann ich mit A nicht mehr weiterarbeiten
Private Nachricht senden Benutzer-Profile anzeigen
 
LittleX
Forum-Guru

Forum-Guru


Beiträge: 494
Anmeldedatum: 14.05.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.07.2010, 09:54     Titel:
  Antworten mit Zitat      
Hallo,

wenn Du Nachkommastellen hast musst Du bei fscanf %f statt %d angeben.
Oder Du nimmst textscan, wenn Du die Daten gleich auf int gerundet haben willst. Dabei kannst Du dann auch noch gleich angeben, dass die eine Headerline ignoriert werden soll (Du sparst Dir den Aufruf von fgetl).

Viele Grüße,

LittleX
Private Nachricht senden Benutzer-Profile anzeigen
 
snidaa
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 37
Anmeldedatum: 25.05.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.07.2010, 10:23     Titel:
  Antworten mit Zitat      
mit %f bei fscanf komme ich auf 1310713. d.h. 7 zeilen verliert er unterwegs. und deswegen kann er den Vektor nicht wieder in eine matrix umwandeln mit reshape.
Private Nachricht senden Benutzer-Profile anzeigen
 
LittleX
Forum-Guru

Forum-Guru


Beiträge: 494
Anmeldedatum: 14.05.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.07.2010, 12:10     Titel:
  Antworten mit Zitat      
Dann sind wohl noch Buchstaben oder leere Elemente in der Textdatei enthalten enthalten.
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.