Προς το περιεχόμενο

textscan matlab


matuser

Προτεινόμενες αναρτήσεις

Δημοσ.

Καλησπερα!

Θελω να φορτωσω τα δεδομενα ενος txt αρχειου σε ενα cell array.Γι αυτο χρησιμοποιησα την textscan.Το αρχειο εχει δυο στηλες δεδομενων απο τα οποια η πρωτη σειρα ειναι τιτλος.Στον τελικο cell θελω μονο τα δεδομενα της πρωτης στηλης από την δεύτερη γραμμή και μετα.Τρεχω τα εξής:

fid = fopen('data.txt');

names = textscan(fid, '%s%*[^\n]');

fclose(fid);

 

Ο τελικος πινακας εδω αποτελειται απο την πρωτη στηλη οπως θελω ομως περιλαμβανει και τον τιτλο,δηλαδη την πρωτη γραμμη.Πως θα συμπεριλαβω την πρωτη στηλη αλλα από την δεύτερη γραμμή και μέτα;Εψαξα στο help της συναρτησης αλλα δεν καταφερα κατι..

Δημοσ.

Μια και θέλεις κάτι τόσο απλό, ξέχασε την textscan.

Χρησημοποίησε την importdata('data.txt',' ',1)

 

Αν τα δεδομένα σου χωρίζονται με κόμμα ή κάτι άλλο τροποποίσε αναλόγως το ' '.

Το 1 στο τέλος δηλώνει ότι η πρώτη γραμμή είναι hedear, και την αγνοεί.

 

Γενικά η textscan είναι για όταν η δομή των αρχείων είναι πολύπλοκη.

Δημοσ.

Η importdata('data.txt',' ',1) φορτωνει τα δεδομενα από την δεύτερη γραμμή και μετά όμως φορτωνει και την δευτερη στήλη του txt.Εγω θελω μονο την πρωτη στήλη των δεδομένων από την δεύτερη γραμμή και μετά.Επίσης τα δεδομένα με την εντολη αυτη φορτώνονται σε struct και οχι σε cell. Πως την τροποποιω για να τα φορτωσω με τον τρόπο που θέλω;

Δημοσ.

Δώσε μου τη μορφή του αρχείου να σου πω τι ακριβώς θέλεις. Το γεγονός ότι τα σώζει σε struct, βοηθάει τα πράγματα.

Μπορείς να πάρεις τη στήλε που θες απλά, mmm=ans.data(:,1);

Δημοσ.

Το αρχειο ειναι txt και αποτελειται απο δυο στηλες με αριθμους και μια επικεφαλιδα στην πρωτη γραμμη καθε στηλης.Θελω εναν πινακα με τα στοιχεια της πρωτης στηλης μονο χωρις να συμπεριλαμβανεται η επικεφαλιδα.

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...