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

Matlab


andrikos66

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

Καλησπέρα στην κοινότητα. Έχω κάποια 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 και τώρα πρέπει να τα ξανά θυμηθώ. Όπως και να έχει σευχαριστώ πολύ. 

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

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

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

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

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

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

Σύνδεση

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

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