andrikos66 Δημοσ. 29 Ιανουαρίου 2021 Δημοσ. 29 Ιανουαρίου 2021 Καλησπέρα στην κοινότητα. Έχω κάποια functions στη matlab και αυτά τρέχουν εφόσον κάνω load ένα αρχείο. txt. Πως μπορώ να εισάγω τα 10 αρχεία από τον φάκελο στο function το ένα πίσω από το άλλο και κάθε φορά που μου εισάγει το ένα αρχείο txt να τρέχει αυτόματα το function μετά το δεύτερο αρχείο txt κοκ. Επιπλέον πως μπορώ να στογγυλοποιησω τις καταχωρήσεις σε ένα διάνυσμα, πχ αν έχω ένα διάνυσμα με μια στήλη και 4523 γραμμές, πως μπορώ να πάρω ένα διάνυσμα στρογγυλοποιημενο στη τελευταία χιλιάδα δηλαδή για το παραπάνω παράδειγμα να έχει 4000 γραμμές.
georgemarios Δημοσ. 29 Ιανουαρίου 2021 Δημοσ. 29 Ιανουαρίου 2021 Για το δευτερο ερωτημα, εστω το διανυσμα v, τοτε το παρακατω snippet θα κρατησει τα 4000 πρωτα στοιχεια και τα πεταξει τα υπολοιπα v = v(1 : min(length(v), floor(length(v)/1000)*1000)); To πρώτο ερωτημα ομολογω δε το καταλαβα, αν θες εξηγησε το λιγο πιο αναλυτικα. Τα txt files ειναι δεδομενα, σωστα; Πως τα φορτώνεις; Και τι ακριβως θες να πετυχεις;
andrikos66 Δημοσ. 29 Ιανουαρίου 2021 Μέλος Δημοσ. 29 Ιανουαρίου 2021 (επεξεργασμένο) 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 κάθε αρχείο να υπολογίζει αυτό που είναι να υπολογίσει και μόλις τελειώσει αυτόματα να παίρνει το άλλο αρχείο και να κάνει το ίδιο κοκ. Κάτι άλλο σε αυτό που μου απάντησες γίνεται να αναγνωρίζει αυτόματα την προηγούμενη χιλιάδα και να το κόβει εκεί το διάνυσμα? Επεξ/σία 29 Ιανουαρίου 2021 από andrikos66
newnick Δημοσ. 30 Ιανουαρίου 2021 Δημοσ. 30 Ιανουαρίου 2021 Στην function θα βάλεις ένα input argument που θα έχει το όνομα του αρχείου. Στον κώδικα της function θα χρησιμοποιήσεις στην load το argument αυτό Στο κυρίως script θα φτιάξεις ένα cell array με τα ονόματα των αρχείων και στην συνέχεια με μία for θα καλείς την function με παράμετρο ένα-ένα τα στοιχεία του cell array
georgemarios Δημοσ. 30 Ιανουαρίου 2021 Δημοσ. 30 Ιανουαρίου 2021 Για το 2ο παλι, αν καταλαβαινω καλα, θες πχ αν το διανυσμα ειναι 4821 στοιχεια, να αναγνωριζει τη προηγουμενη χιλιαδα, δηλαδή 3000 (σημ, αν το διανυσμα εχει λιγοτερα απο 2000 στοιχεια, με τον παρακατω θα σου επιστρεψει αδειο, αν θες κατι αλλο το συζηταμε) v = v(1 : max(0, (floor(length(v)/1000)-1)*1000)); Για το 1ο, αυτο που ειπε ο @newnick απο πάνω.
andrikos66 Δημοσ. 31 Ιανουαρίου 2021 Μέλος Δημοσ. 31 Ιανουαρίου 2021 Στις 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 και τώρα πρέπει να τα ξανά θυμηθώ. Όπως και να έχει σευχαριστώ πολύ.
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα