THMMY.gr

Ηλεκτρονικοί Υπολογιστές και Τεχνικά Θέματα => Matlab, Mathematica, Octave, EngLab κλπ => Topic started by: aika on April 22, 2007, 11:41:15 am



Title: Matlab-> Oι ατέλειωτες απορίες της aika..!
Post by: aika on April 22, 2007, 11:41:15 am
Καλημέρα,

Διαβάζω με την εντολή wavread() του Matlab κάποια αρχεία για να κάνω μετά plot τα δείγματα.
Στο πρώτο .wav όλα γίνονται εντάξει. Μετά ξανατρέχω το πρόγραμμα με άλλο αρχείο και μου βγάζει

Error using ==> fread
Out of memory. Type HELP MEMORY for your options.

Εντωμεταξύ, στην αρχή του προγράμματός μου εγώ έχω βάλει το clear all, οπότε δεν μπορώ να καταλάβω γιατί μου βγάζει αυτό το λάθος...Καμμιά ιδέα; Μερσί


Title: Re: Matlab-Πρόβλημα με διαχείρηση μνήμης;;
Post by: aika on April 22, 2007, 12:20:47 pm
Που είσαι ρε Φιούτζι να με λύσεις το πρόβλημα?? :D


Title: Re: Matlab-Πρόβλημα με διαχείρηση μνήμης;;
Post by: fugiFOX on April 22, 2007, 13:57:59 pm
κάνεις κάποια εργασία που απαιτεί να δεσμευτεί μνήμη μεγαλύτερη από όση διαθέτεις.
Ή θα μειώσεις την ακρίβεια των αποτελεσμάτων ή το μέγεθος του πίνακα που χρησιμοποιείς.
Δεν δίνεις πολλές λεπτομέρειες και δεν μπορώ να σε πω περισσότερα.
Δες κι εδώ http://www.mathworks.com/support/tech-notes/1100/1106.html
κι αν το πρόβλημα παραμένει ανέβασέ μας τον κώδικά σου να το δούμε.

Αφού δεν ξέρω τι πας να κάνεις, εικάζοντας θα έλεγα να μειώσεις το sampling ή να τεμαχίσεις
το wav αρχείο σε μικρότερα και μετά να χρησιμοποιήσεις τη wavread σε καθένα από αυτά


Title: Re: Matlab-Πρόβλημα με διαχείρηση μνήμης;;
Post by: tolos on April 22, 2007, 14:04:17 pm
Κ εγω εχω το ιδιο προβλημα σε εφαρμογη με νευρωνικα δικτυα. Δημιουργω τους πινακες εισοδου και εξοδου και οταν παει να δημιουργησει το δικτυο(που ειναι αρκετα μεγαλο) μου βγαζει το out of memory. Παντως με την αλλαγη της virtual memory δεν καταφερα να το λυσω. Τι προτεινεις master;


Title: Re: Matlab-Πρόβλημα με διαχείρηση μνήμης;;
Post by: fugiFOX on April 22, 2007, 14:09:32 pm
ή θα βάλεις πολύ virtual memory (εγώ στο εργαστήριο του'χω βάλει 20γίγα!!)
ή αν δεν έχεις πολύ διαθέσιμη θα του βάλεις όση έχεις και θα μειώσεις την ακρίβεια<=>
τον πίνακα που διαχειρίζεσαι.
Το πρόβλημα αυτό με το out of memory χτυπάει συνήθως όταν έχεις πολλά nested for-loops
ή καλείς πολλές συναρτήσεις/mflies γιατί κρατάει σε stack όλες τις τιμές των μεταβλητών.
Οπότε δοκίμασε επίσης να κανεις clear σε κάθε βήμα όσες μεταβλητές δεν χρειάζεσαι.
Εάν όλα αυτά δεν λύνουν το πρόβλημα τότε
δούλεψε με άλλον τύπο μεταβλητής από double


Title: Re: Matlab-Πρόβλημα με διαχείρηση μνήμης;;
Post by: tolos on April 22, 2007, 14:15:11 pm
Αυτη η virtyal memory πρεπει να ειναι του partition που ειναι εγκατεστημενο το matlab?


Title: Re: Matlab-Πρόβλημα με διαχείρηση μνήμης;;
Post by: fugiFOX on April 22, 2007, 14:39:42 pm
όχι, η virtual memory καθορίζεται από το λειτουργικό.
εάν χρησιμοποιείς windows... βάλε Λίνουξ.
Ως τότε πάνε στο System->Advanced->Virtual Memory
και καθόρισε που και πόσο θες.


Title: Re: Matlab-Πρόβλημα με διαχείρηση μνήμης;;
Post by: aika on April 22, 2007, 15:15:05 pm
Ιδού το εξαιρετικά πολύπλοκό πρόγραμμά μου  :D

clear all;
[samples1, FS, NBITS]=wavread('aFile16.wav');
plot(samples1);

Όλα γίνονται μια χαρά την πρώτη φορά. Πάω να το τρέξω και  για δεύτερο .wav αρχείο και μου βγάζει out of memory! Όμως εγώ έχω γραψει το clear all, και δεν μπορώ να καταλάβω γιατι δεν αποδεσμεύει τη μνήμη που χρησιμοποίησε προηγουμένως...
Την εικονική μνήμη την έχω αυξήσει αλλά τίποτα...
Τι βλακεία αυτό το μάτλαμπ. Εχει κανείς έτοιμο κώδικα να κάνω τη δουλειά σε Java?? ::)


Title: Re: Matlab-Πρόβλημα με διαχείρηση μνήμης;;
Post by: chggr005 on April 22, 2007, 15:44:47 pm
Βασικά πράγματι το μάτλαμπ κάνει χάλια διαχείριση μνήμης,  αλλά σου προσφέρει αρκετές ευκολίες στον προγραμματισμό. Είναι ένα tradeoff και αυτό.
Εγώ πάντως για εργασίες που απαιτούν πολλή επεξεργαστική ισχύ ή μνήμη προτιμώ κάτι πιο low level, όπως πχ c++


Title: Re: Matlab-Πρόβλημα με διαχείρηση μνήμης;;
Post by: aika on April 22, 2007, 15:50:41 pm

Δεν υπάρχει ρε παιδιά καμμιά εντολή free memory που να δουλεύει?? Μέχρι και επανεκκίνηση έκανα στο σύστημα αλλά τπτ


Title: Re: Matlab-Πρόβλημα με διαχείρηση μνήμης;;
Post by: TheDoctor on April 22, 2007, 16:38:42 pm

Δεν υπάρχει ρε παιδιά καμμιά εντολή free memory που να δουλεύει?? Μέχρι και επανεκκίνηση έκανα στο σύστημα αλλά τπτ

pack;



Title: Re: Matlab-Πρόβλημα με διαχείρηση μνήμης;;
Post by: aika on April 22, 2007, 16:48:00 pm
Ούτε και με την pack καμμιά αλλαγή...Ποιο χώρο μνήμης δεσμεύει το Matlab για να κάνει τους υπολογισμούς; RAM? Τότε γιατί με την επανεκκίνηση δεν απελευθερώθηκαν καθόλου πόροι;
Αυτόν τον πίνακα που αποθηκεύτηκαν τα δείγματα του πρώτου αρχείου μου, πού μπορώ να τον βρω και να τον διαγράψω? Δεν μου χρειάζεται πια  >:(


Title: Re: Matlab-Πρόβλημα με διαχείρηση μνήμης;;
Post by: fugiFOX on April 22, 2007, 18:07:31 pm
Ιδού το εξαιρετικά πολύπλοκό πρόγραμμά μου  :D

clear all;
[samples1, FS, NBITS]=wavread('aFile16.wav');
plot(samples1);

είναι mfile ή function?

το ότι δίνεις clear all δεν εχει καμία σημασία στο out of memory.
Μπορεί πράγματι να καθαρίζει η μνήμα αλλά
το 2ο αρχέιο σου να ζητάει πολύ μνημη για αυτό και σου τελειώνει.

Δεν χρειάζεται επανεκίνηση, απλά κλείσε το matlab και θα αποδεσμευτεί όλη η μνήμη.

Δοκίμασε να μειώσεις το nbits


Title: Re: Matlab-Πρόβλημα με διαχείρηση μνήμης;;
Post by: aika on April 22, 2007, 18:25:09 pm

Ιδιο μέγεθος έχουν τα αρχεία! Το nbits δεν μπορώ να το μειώσω, έχω κάνει την ηχογράφηση με 16bits/sample και δεν πάει παρακάτω  :P


Title: Re: Matlab-Πρόβλημα με διαχείρηση μνήμης;;
Post by: aika on April 22, 2007, 18:26:12 pm

Τον κώδικα τον έχω ως m.file, αλλά και από το κεντρικό παράθυρο που δίνεις μια-μια τις εντολές πάλι ερρορ βγάζει.


Title: Re: Matlab-Πρόβλημα με διαχείρηση μνήμης;;
Post by: fugiFOX on April 23, 2007, 00:16:24 am
τι μέγεθος έχει το αρχείο ήχου;


Ιδιο μέγεθος έχουν τα αρχεία! Το nbits δεν μπορώ να το μειώσω, έχω κάνει την ηχογράφηση με 16bits/sample και δεν πάει παρακάτω  :P
μια χαρά πάει και στα 8


Title: Re: Matlab-Πρόβλημα με διαχείρηση μνήμης;;
Post by: aika on April 23, 2007, 00:23:14 am
4MB είναι. Εγώ κάνω την ηχογράφηση και με 8 bit είναι χάλια  ο ήχος. Αυτό το Ματλαμπ είναι απίστευτο !!


Title: Re: Matlab-Πρόβλημα με διαχείρηση μνήμης;;
Post by: fugiFOX on April 23, 2007, 00:46:26 am
to out of memory χτυπάει στο wavread ι στο plot?


Title: Re: Matlab-Πρόβλημα με διαχείρηση μνήμης;;
Post by: fugiFOX on April 23, 2007, 00:47:35 am
λοιπόν επειδή δεν έχω ματλαβ μπροστά μου
άνοιξε την wavread και δες πότε βγαίνει το σφάλμα

Error using ==> fread
Out of memory. Type HELP MEMORY for your options.

τη wavread θα τη βρεις αν κάνεις search στο matlab root


Title: Re: Matlab-> Oι ατέλειωτες απορίες της aika..!
Post by: aika on May 02, 2007, 15:29:50 pm

Το προηγούμενο πρόβλημα δεν λύθηκε αλλά έκανα αλλού τη δουλειά μου οπότε όλα οκ  :P

Έχω νέα απορία. Είναι κάτι απλό αλλά μέχρι να βρω τη λύση, το γράφω και στο φόρουμ, μήπως βρεθεί η λύση από εδώ  ;)

Κάνω ένα πείραμα και σαν αποτέλεσμα έχω κάποιες διακριτές τιμές. Θέλω να κάνω το γράφημα της συνάρτησης
πυκνότητας πιθανότητας για αυτές τις διακριτές τιμές. Στο Matlab, το μόνο που βρήκα είναι η hist() αλλά  εγώ δεν θέλω τη συχνότητα εμφάνισης των τιμών, θέλω στον  άξονα Υ να φαίνονται σε τι ποσοστό εμφανίζονται! Πώς γίνεται αυτό;


Title: Re: Matlab-> Oι ατέλειωτες απορίες της aika..!
Post by: JAs0n-X on May 02, 2007, 15:51:49 pm

Το προηγούμενο πρόβλημα δεν λύθηκε αλλά έκανα αλλού τη δουλειά μου οπότε όλα οκ  :P

Έχω νέα απορία. Είναι κάτι απλό αλλά μέχρι να βρω τη λύση, το γράφω και στο φόρουμ, μήπως βρεθεί η λύση από εδώ  ;)

Κάνω ένα πείραμα και σαν αποτέλεσμα έχω κάποιες διακριτές τιμές. Θέλω να κάνω το γράφημα της συνάρτησης
πυκνότητας πιθανότητας για αυτές τις διακριτές τιμές. Στο Matlab, το μόνο που βρήκα είναι η hist() αλλά  εγώ δεν θέλω τη συχνότητα εμφάνισης των τιμών, θέλω στον  άξονα Υ να φαίνονται σε τι ποσοστό εμφανίζονται! Πώς γίνεται αυτό;
Οταν δεν υπαρχει κατι ετοιμο το φτιαχνεις μονη σου! :)

Φτιαξε τον αξονα χ. πχ x=1:1000; Φτιαξε ενα πινακα με τις συχνοτητες εμφανισης... (2 loop) και τελος αθροισε τον (sum) και βγαλε τα ποσοστα!
plot και τελος!


Title: Re: Matlab-> Oι ατέλειωτες απορίες της aika..!
Post by: fugiFOX on May 02, 2007, 15:57:09 pm
κάποιος να αγοράσει ένα βιβλίο matlab στην ΑΙΚΑ επειγόντως!


Title: Re: Matlab-> Oι ατέλειωτες απορίες της aika..!
Post by: Sanctifier on May 02, 2007, 16:06:44 pm
Το σωστο ειναι:
Καποιος να της κανει την διπλωματικη επειγοντως...

@Aika: Ποτε ορκιζομαστε ρε;


Title: Re: Matlab-> Oι ατέλειωτες απορίες της aika..!
Post by: aika on May 02, 2007, 16:53:09 pm

Θενξ Jason! Χεχε, αν και θα προτιμούσα μία ετοιματζίδικη συνάρτηση. Κ μετά σου λέει ότι το Ματλαμπ είναι το απόλυτο εργαλείο για κάτι τέτοια!
Γιατί ρε Σανκτ, μια χαρά δεν τα καταφέρνω και 'μόνη' μου?  :D Τον Ιούλη αν έχει τελειώσει η διπλωματική. Αλλά επειδή έχω να δώσω κ τρία μαθήματα μπορεί να παρουσιάσω το Σεπτέμβρη...Το ίδιο μου κάνει  ;)


Title: Re: Matlab-> Oι ατέλειωτες απορίες της aika..!
Post by: Sanctifier on May 02, 2007, 17:01:21 pm
Γιατί ρε Σανκτ, μια χαρά δεν τα καταφέρνω και 'μόνη' μου?  :D Τον Ιούλη αν έχει τελειώσει η διπλωματική. Αλλά επειδή έχω να δώσω κ τρία μαθήματα μπορεί να παρουσιάσω το Σεπτέμβρη...Το ίδιο μου κάνει  ;)

Mια χαρα ρε ^crazy^.
Αν ποσταρα και γω της αποριες μου πανω στον αλγοριθμο που δουλευω στο Μatlab θα χρειαζονταν νεο φορουμ... ;D


Title: Re: Matlab-> Oι ατέλειωτες απορίες της aika..!
Post by: fugiFOX on May 02, 2007, 18:32:16 pm

Το προηγούμενο πρόβλημα δεν λύθηκε αλλά έκανα αλλού τη δουλειά μου οπότε όλα οκ  :P

Έχω νέα απορία. Είναι κάτι απλό αλλά μέχρι να βρω τη λύση, το γράφω και στο φόρουμ, μήπως βρεθεί η λύση από εδώ  ;)

Κάνω ένα πείραμα και σαν αποτέλεσμα έχω κάποιες διακριτές τιμές. Θέλω να κάνω το γράφημα της συνάρτησης
πυκνότητας πιθανότητας για αυτές τις διακριτές τιμές. Στο Matlab, το μόνο που βρήκα είναι η hist() αλλά  εγώ δεν θέλω τη συχνότητα εμφάνισης των τιμών, θέλω στον  άξονα Υ να φαίνονται σε τι ποσοστό εμφανίζονται! Πώς γίνεται αυτό;

hist()/ numberOfSamples

οπότε πάρε πίσω αυτό:
Θενξ Jason! Χεχε, αν και θα προτιμούσα μία ετοιματζίδικη συνάρτηση. Κ μετά σου λέει ότι το Ματλαμπ είναι το απόλυτο εργαλείο για κάτι τέτοια!


Title: Re: Matlab-> Oι ατέλειωτες απορίες της aika..!
Post by: aika on May 02, 2007, 18:45:11 pm

Aυτό πού το βρήκες; Στην hist() που έψαχνα δεν βρήκα κάτι τέτοιο.


Title: Re: Matlab-> Oι ατέλειωτες απορίες της aika..!
Post by: aika on May 02, 2007, 18:59:08 pm
Τεσπα, αυτό που λες Φιουτζι δε μου λειτουργει...
Επίσης, πήγα να κάνω το προγραμματάκι σε Ματλαμπ,  αλλά επειδή δεν το πολυξέρω το παράτησα και πήγα να κάνω τη δουλειά σε Java :D Εκεί όμως συνάντησα προβληματα στο διάβασμα των ακεραίων από .txt αρχείο μου. Τελικά αποφάσισα ότι τα αποτελέσματα της απλής hist() είναι μια  χαρά κι ότι δεν θα ασχοληθώ άλλο  :P


Title: Re: Matlab-> Oι ατέλειωτες απορίες της aika..!
Post by: Guybrush on May 02, 2007, 19:02:00 pm
Είναι η εφαρμογή της αρχής KISS από την aika  :P


Title: Re: Matlab-> Oι ατέλειωτες απορίες της aika..!
Post by: fugiFOX on May 02, 2007, 19:22:37 pm
Ας τα πάρουμε λοιπόν από την αρχή βήμα βήμα:

Η ακριβής εντολή που εννοούσα ήταν hist(array/numberOfSamples) όπου
hist(): είναι μια built-in  (http://www.google.gr/search?hl=el&client=firefox-a&rls=org.mozilla:en-US:official&hs=vZw&defl=en&q=define:Built-in&sa=X&oi=glossary_definition&ct=title)συνάρτηση του Matlab (http://www.mathworks.com/)

array:
είναι ο πίνακας που περιέχει τα δεδομένα (http://www.google.gr/search?hl=el&client=firefox-a&rls=org.mozilla%3Aen-US%3Aofficial&hs=7GH&q=define%3Adata&meta=) σου

numberOfSamples: είναι ο συνολικός αριθμός των δειγμάτων ή αλλιώς το μέγεθος του πίνακα

Εάν δεν ξέρεις το μέγεθός του πίνακά σου (aka* array) τότε μπορείς να χρησιμοποιήσεις μια  built-in  (http://www.google.gr/search?hl=el&client=firefox-a&rls=org.mozilla:en-US:official&hs=vZw&defl=en&q=define:Built-in&sa=X&oi=glossary_definition&ct=title)συνάρτηση του Matlab (http://www.mathworks.com/) με το όνομα size()
Η εντολή σου σε αυτή την περίπτωση θα γραφτεί ως

hist(array/size(array))

*=aka: Όρος που χρησιμοποιείται στη διαδικτυακή επικοινωνία και προέρχεται από τα αρχικά των λέξεων Altenative Known As.


Title: Re: Matlab-> Oι ατέλειωτες απορίες της aika..!
Post by: aika on May 02, 2007, 19:30:59 pm
lol Fugi! Δεν νομίζω ότι δουλεύει ούτε αυτό που λες τώρα...Αλλά μόλις πρόσεξα καλύτερα τι επιστρέφει η hist() κ θα γίνει από κει η δουλειά μου φαίνεται  ;)

ps.  I have been fu***ing googling it all the time!
^bluescreen^


Title: Re: Matlab-> Oι ατέλειωτες απορίες της aika..!
Post by: aika on May 02, 2007, 19:40:47 pm
Και ναι...εγένετο γράφημα!


Title: Re: Matlab-> Oι ατέλειωτες απορίες της aika..!
Post by: fugiFOX on May 02, 2007, 19:42:40 pm
 ^sfinaki^ ^pcsleep^


Title: Re: Matlab-> Oι ατέλειωτες απορίες της aika..!
Post by: aika on May 02, 2007, 20:11:38 pm
Fugi περίμενα περισσότερα από σένα στο Matlab support, ντόινκ!  Αστειεύομαι φυσικά :-*^pcsleep^


Title: Re: Matlab-> Oι ατέλειωτες απορίες της aika..!
Post by: fugiFOX on May 02, 2007, 20:17:34 pm
Fugi περίμενα περισσότερα από σένα στο Matlab support, ντόινκ!

δεν δούλεψε αυτό που σε έιπα
ή το ήθελες πιο αναλυτικά (!!!)


Title: Re: Matlab-> Oι ατέλειωτες απορίες της aika..!
Post by: aika on May 02, 2007, 20:25:19 pm
Αυτό που έλεγες εσύ εφάρμοζε διαίρεση στα στοιχεία του άξονα x και όχι στη συχνότητα εμφάνισης των τιμών όπως θα θέλαμε, για να βγάλουμε τα ποσοστά!


Title: Re: Matlab-> Oι ατέλειωτες απορίες της aika..!
Post by: Fenix on May 03, 2007, 12:53:55 pm
*=aka: Όρος που χρησιμοποιείται στη διαδικτυακή επικοινωνία και προέρχεται από τα αρχικά των λέξεων Altenative Known As.

Συγνώμη που πετάγομαι, αλλά επειδή εδώ μαθαίνετε πράγματα στην αικα πρέπει να της δίνετε ακριβείς πληροφορίες γιατί μπορεί να εκτεθεί το κορίτσι.Λοιπόν αικα, αν δεν κάνω λάθος το aka είναι:Also known as ή Αlternatively known as αν υποθεσούμε ότι πάμε με την πρόταση fugi.Aυτά.


Title: Re: Matlab-> Oι ατέλειωτες απορίες της aika..!
Post by: fugiFOX on May 03, 2007, 17:22:49 pm
*=aka: Όρος που χρησιμοποιείται στη διαδικτυακή επικοινωνία και προέρχεται από τα αρχικά των λέξεων Altenative Known As.

Συγνώμη που πετάγομαι, αλλά επειδή εδώ μαθαίνετε πράγματα στην αικα πρέπει να της δίνετε ακριβείς πληροφορίες γιατί μπορεί να εκτεθεί το κορίτσι.Λοιπόν αικα, αν δεν κάνω λάθος το aka είναι:Also known as ή Αlternatively known as αν υποθεσούμε ότι πάμε με την πρόταση fugi.Aυτά.
συγνώμη έχεις δίκιο


Title: Re: Matlab-> Oι ατέλειωτες απορίες της aika..!
Post by: aika on May 03, 2007, 20:14:20 pm
lol :D


Title: Re: Matlab-> Oι ατέλειωτες απορίες της aika..!
Post by: jeffaldo on June 07, 2007, 12:37:51 pm
χαιρετώ τα παιδιά του ματλαμπ.

να ρωτήσω κάτι?

κάνω μια εργασία, κ μου ζητάει να βρω τις πρωτεύουσες συνιστώσε κάτι που έκανα, κ μετα να προσεγγίσω κάτι δείγματα με το άθροισμα των προβολών του στις 3 πρώτες ιδιοτιμές.Πως μπορώ να βρω τις προβολές???

ευχαριστώ....