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

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

Δημοσ.

Καλησπέρα στην κοινότητα. Έχω κάποια functions στη matlab και αυτά τρέχουν εφόσον κάνω load ένα αρχείο. txt.  Πως μπορώ να εισάγω τα 10 αρχεία από τον φάκελο στο function το ένα πίσω από το άλλο και κάθε φορά που μου εισάγει το ένα αρχείο txt να τρέχει αυτόματα το function μετά το δεύτερο αρχείο txt κοκ. Επιπλέον πως μπορώ να στογγυλοποιησω τις καταχωρήσεις σε ένα διάνυσμα, πχ αν έχω ένα διάνυσμα με μια στήλη και 4523 γραμμές, πως μπορώ να πάρω ένα διάνυσμα στρογγυλοποιημενο στη τελευταία χιλιάδα δηλαδή για το παραπάνω παράδειγμα να έχει 4000 γραμμές. 

Δημοσ.

Για το δευτερο ερωτημα, εστω το διανυσμα v, τοτε το παρακατω snippet θα κρατησει τα 4000 πρωτα στοιχεια και τα πεταξει τα υπολοιπα

v = v(1 : min(length(v), floor(length(v)/1000)*1000));

To πρώτο ερωτημα ομολογω δε το καταλαβα, αν θες εξηγησε το λιγο πιο αναλυτικα. 

Τα txt files ειναι δεδομενα, σωστα; Πως τα φορτώνεις; Και τι ακριβως θες να πετυχεις;

Δημοσ. (επεξεργασμένο)

 

50 λεπτά πριν, georgemarios είπε

Για το δευτερο ερωτημα, εστω το διανυσμα v, τοτε το παρακατω snippet θα κρατησει τα 4000 πρωτα στοιχεια και τα πεταξει τα υπολοιπα



v = v(1 : min(length(v), floor(length(v)/1000)*1000));

To πρώτο ερωτημα ομολογω δε το καταλαβα, αν θες εξηγησε το λιγο πιο αναλυτικα. 

Τα txt files ειναι δεδομενα, σωστα; Πως τα φορτώνεις; Και τι ακριβως θες να πετυχεις;

Βασικά ευχαριστώ για την απάντηση. Όσον αφορά τώρα το πρώτο ερώτημα. Έχω 10 αρχεία txt μέσα σε έναν φάκελο τα οποία περιέχουν μετρήσεις καρδιογραφημάτος. Θέλω να κάνω στατιστικη ανάλυση σε αυτά τα αρχεία. Εγώ έχω κάνει το function για την στατιστική ανάλυση και τρέχει κανονικά, αλλά χρειάζεται κάθε φορά να πηγαίνω στο function και να κάνω load κάθε αρχείο ξεχωριστά. Αυτό που θα ήθελα είναι να κάνει το function load τα αρχεία μου (ίσως με ένα loop) και κάθε φορά που κάνει load κάθε αρχείο να υπολογίζει αυτό που είναι να υπολογίσει και μόλις τελειώσει αυτόματα να παίρνει το άλλο αρχείο και να κάνει το ίδιο κοκ. Κάτι άλλο σε αυτό που μου απάντησες γίνεται να αναγνωρίζει αυτόματα την προηγούμενη χιλιάδα και να το κόβει εκεί το διάνυσμα?

Επεξ/σία από andrikos66
Δημοσ.

Στην function θα βάλεις ένα input argument που θα έχει το όνομα του αρχείου. Στον κώδικα της function θα χρησιμοποιήσεις στην load το argument αυτό

Στο κυρίως script θα φτιάξεις ένα cell array με τα ονόματα των αρχείων και στην συνέχεια με μία for θα καλείς την function με παράμετρο ένα-ένα τα στοιχεία του cell array 

 

Δημοσ.

Για το 2ο παλι, αν καταλαβαινω καλα, θες πχ αν το διανυσμα ειναι 4821 στοιχεια, να αναγνωριζει τη προηγουμενη χιλιαδα, δηλαδή 3000 (σημ, αν το διανυσμα εχει λιγοτερα απο 2000 στοιχεια, με τον παρακατω θα σου επιστρεψει αδειο, αν θες κατι αλλο το συζηταμε)

v = v(1 : max(0, (floor(length(v)/1000)-1)*1000));

Για το 1ο, αυτο που ειπε ο @newnick απο πάνω.

Δημοσ.
Στις 29/1/2021 στις 10:37 ΜΜ, georgemarios είπε

Για το δευτερο ερωτημα, εστω το διανυσμα v, τοτε το παρακατω snippet θα κρατησει τα 4000 πρωτα στοιχεια και τα πεταξει τα υπολοιπα


v = v(1 : min(length(v), floor(length(v)/1000)*1000));

To πρώτο ερωτημα ομολογω δε το καταλαβα, αν θες εξηγησε το λιγο πιο αναλυτικα. 

Τα txt files ειναι δεδομενα, σωστα; Πως τα φορτώνεις; Και τι ακριβως θες να πετυχεις;

Το δεύτερο ερώτημα δούλεψε τέλεια. Ευχαριστώ πολύ!! 

13 ώρες πριν, newnick είπε

Στην function θα βάλεις ένα input argument που θα έχει το όνομα του αρχείου. Στον κώδικα της function θα χρησιμοποιήσεις στην load το argument αυτό

Στο κυρίως script θα φτιάξεις ένα cell array με τα ονόματα των αρχείων και στην συνέχεια με μία for θα καλείς την function με παράμετρο ένα-ένα τα στοιχεία του cell array 

 

Η αλήθεια είναι ότι το προσπάθησα και δεν μου βγήκε. Έχω καιρό να πιάσω matlab και τώρα πρέπει να τα ξανά θυμηθώ. Όπως και να έχει σευχαριστώ πολύ. 

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...