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

ερωτηση για δημιουργία panel data στο matlab


john_loux

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

καλησπέρα σε όλους.

νέος στον "προγραμματισμό" και έχω  μια ερώτηση. έχω δεδομένα (χρονοσειρών) για  κάποια έτη με ωριαία συχνότητα. το ζητούμενο είναι πως τα πρέπει να κάνω έναν πίνακα στο matlab το οποίο θα έχει 24 στήλες (αντιπροσωπεύοντας τις ώρες της ημέρας) κα κάτω από κάθε στήλη θα πρέπει να μπει η τιμή που είχε η παρατήρηση εκείνη την ώρα για κάθε μέρα. τα αρχικά δεδομένα είναι ένας  vector 8760*2 , η πρώτη στήλη με την ώρα (365*24) και η δεύτερη με την τιμή που παίρνει την εκάστοτε ώρα. Τί πρέπει να κάνω για να δημιουργήσω πίνακα 365*24 ? έτοιμη function δεν κατάφερα να εντοπίσω και με τα loop τα κάνω ψιλομαντάρα...... κάποια λύση?

ευχαριστώ εκ των προτέρων!

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

Δεν θα βρεις έτοιμη function. Πρέπει να το κάνεις εσύ.

Για κάποιον που γνωρίζει, είναι ίσως και μία γραμμή.

Όμως, εάν το θέμα σου είναι να μάθεις, τότε πρέπει να το λύσεις μόνος σου. Είναι αρκετά απλό. 
 

Άρχισε να δοκιμάζεις πράγματα. Πιάσε χαρτί και μολύβι. 

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

Και με loop γίνεται, αλλά εάν θέλεις να μάθεις MATLAB θα ήταν καλό να το κάνεις χωρίς loop.

Διάβασε πως κάνει indexing τους πίνακες το MATLAB και πως μπορείς να πάρεις range στοιχείων. 

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

  • 1 μήνα μετά...

Θα πάρεις μόνο την δεύτερη στήλη που έχει τα δεδομένα

Μετά θα χρησιμοποιήσεις την reshape. Μόνο που θέλεις να κάνεις row-wise τα δεδομένα οπότε θα την χρησιμοποιήσεις με transpose operator μαζί.

Και επειδή θα χρησιμοποιήσεις το transpose θα πρέπει να φρονίσεις ώστε οι γραμμές - στήλες (στην reshape) να είναι αντίστροφα με αυτούς που θέλεις στο τέλος

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

Στις 7/11/2020 στις 9:25 ΠΜ, newnick είπε

Θα πάρεις μόνο την δεύτερη στήλη που έχει τα δεδομένα

Μετά θα χρησιμοποιήσεις την reshape. Μόνο που θέλεις να κάνεις row-wise τα δεδομένα οπότε θα την χρησιμοποιήσεις με transpose operator μαζί.

Και επειδή θα χρησιμοποιήσεις το transpose θα πρέπει να φρονίσεις ώστε οι γραμμές - στήλες (στην reshape) να είναι αντίστροφα με αυτούς που θέλεις στο τέλος

σε ευχαριστώ πάρα πολύ για την βοήθεια, αλλά το έκανα με άλλον τρόπο και όλα καλά (αν κα θα το δοκιμάσω και αυτόν τον τρόπο) . μια ερώτηση επιπλέον επειδή φαίνεται πως  γνωρίζεις από προγραμματισμό. επειδή αναζητώ εργασία και κακά  τα ψέματα θέλουν για οικονομετρικές αναλύσεις κυρίως PYTHON ( και ίσως R), γνωρίζεις κάποιον τρόπο να μάθω σε ένα αξιοπρεπές επίπεδο python ή πόσο καιρό παίρνει πάνω κάτω??  ευχαριστώ εκ των προτέρων.

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

Η απάντηση εξαρτάται από πολλά:

  • Τι εννοείς "αξιοπρεπές επίπεδο"; 
  • Πόσο εύκολα μαθαίνεις;
  • Έχεις γνώσεις απο άλλη γλώσσα προγραμματισμού;

Όσον αφορά την Python υπάρχει υπέρπληθώρα υλικού στο Internet όπου μπορείς να έχεις άμεση πρόσβαση.

Γνώμη μου είναι ότι ξεκίνα κατευθείαν με το πρόβλημα που έχεις να κάνεις και εκεί θα ψάχνεις για αυτό που θέλεις να κάνεις.

Αν είσαι εντελώς άσχετος μπορείς να παρακολουθήσεις ένα βασικό tutorial.

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

Στις 8/11/2020 στις 5:47 ΜΜ, newnick είπε

Η απάντηση εξαρτάται από πολλά:

  • Τι εννοείς "αξιοπρεπές επίπεδο"; 
  • Πόσο εύκολα μαθαίνεις;
  • Έχεις γνώσεις απο άλλη γλώσσα προγραμματισμού;

Όσον αφορά την Python υπάρχει υπέρπληθώρα υλικού στο Internet όπου μπορείς να έχεις άμεση πρόσβαση.

Γνώμη μου είναι ότι ξεκίνα κατευθείαν με το πρόβλημα που έχεις να κάνεις και εκεί θα ψάχνεις για αυτό που θέλεις να κάνεις.

Αν είσαι εντελώς άσχετος μπορείς να παρακολουθήσεις ένα βασικό tutorial.

σαν αξιοπρεπές επίπεδο στο  να μπορώ να κάνω βασικές οικονομετρικές αναλύσεις με σχετική ευκολία και να κατεβάζω δεδομένα από το ίντερνετ, και να κάνω πίνακες αποτελεσμάτων

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

από άλλη γνώση γλώσσας τα βασικά της matlab. τώρα από προγράμματα για οικονομικές αναλύσεις ένα μάτσο.

σε ρώτησα γιατί ακριβώς αυτό είναι το πρόβλημα  η πληθώρα  υλικού που υπάρχει που φτάνει στα όρια του χαώδους. μάλιστα και σε κάποια tutorial που είχα δει στο YT, ακολουθούν το κλασσικό, που αρχίζουν  από τα βασικά και μετά κάνουν ένα τεράστιο skip και από 5 σειρές φτάνουν σε κάμποσες εκατοντάδες και για να είμαι και ειλικρινής δεν εξηγούν ούτε καν τί κάνουν.

οπότε επειδή φαίνεται πέντε δέκα πράγματα να τα γνωρίζεις για αυτό πήρα το θάρρος και ρώτησα. εσύ python γνωρίζεις και αν ναι πως την έμαθες?

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

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

Συγνώμη για την καθυστερημένη απάντηση.

 

Python γνωρίζω αλλά όχι σε βάθος γενικά είμαι της "παραδοσιακής" σχολής (C, C++, matlab). 

Επειδή μου αρέσουν τα βιβλία θα σου πρότεινα το "learning Python" του OREILLY με το ποντίκι στο εξώφυλλο

 

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

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

Συγνώμη για την καθυστερημένη απάντηση.

Python γνωρίζω αλλά όχι σε βάθος γενικά είμαι της "παραδοσιακής" σχολής (C, C++, matlab). 

Επειδή μου αρέσουν τα βιβλία θα σου πρότεινα το "learning Python" του OREILLY με το ποντίκι στο εξώφυλλο

η matlab γενικά  σαν  γλώσσα έχει ζήτηση  ή επειδή είναι επί πληρωμή δεν προτιμάται? και κάτι ακόμα, επειδή έχω χρόνο να αφιερώσω στο να "μάθω" μια γλώσσα, για οικονομικά/χρηματοοικονομικά ,αν βέβαια γνωρίζεις, ποιά θα μου πρότεινες να μάθω, γιατί ο καθένας από τους καθηγητές & γνωστούς λέει και κάτι διαφορετικό

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

Κοίταξε μπορείς να ξεκινήσεις με Python που είναι μια γλώσσα που έχει πολύ μεγάλο εύρος εφαρμογών και μέσα από αυτή θα μάθεις και τα βασικά του προγραμματισμού.

Από εκεί και πέρα νομίζω ότι και η R θα σε βοηθήσει που είναι για ανάλυση δεδομένων. 

Το μεγάλο πλεονέκτημα του Matlab οι εξειδικευμένες βιβλιοθήκες που έχει. Δεν το προτείνω για πρώτη γλώσσα

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

59 λεπτά πριν, john_loux είπε

η matlab γενικά  σαν  γλώσσα έχει ζήτηση  ή επειδή είναι επί πληρωμή δεν προτιμάται? και κάτι ακόμα, επειδή έχω χρόνο να αφιερώσω στο να "μάθω" μια γλώσσα, για οικονομικά/χρηματοοικονομικά ,αν βέβαια γνωρίζεις, ποιά θα μου πρότεινες να μάθω, γιατί ο καθένας από τους καθηγητές & γνωστούς λέει και κάτι διαφορετικό

Το MATLAB είναι γλώσσα και περιβάλλον μαζί, φτιαγμένο πάνω σε Java. Παρόλα αυτά, έχει αρκετά bugs, π.χ. το memory leaking στα reference objects ή η βλακεία που έχουν κάνει με την διαχείριση του scope (μεγάλο πρόβλημα όταν φτιάχνεις GUI με MATLAB). Επίσης, έχει αρκετούς περιορισμούς, π.χ. για να φορτώσει μία μεταβλητή από τον σκληρό δίσκο, πρέπει να βρει συνεχόμενη περιοχή μνήμης. Δηλαδή, εάν εσύ θέλεις να φορτώσεις το 3GB signal που έχεις, το MATLAB εάν δεν βρει 3GB συνεχόμενα στην RAM σου, δεν θα το φορτώσει. 

Είναι εύκολο όμως και για αυτό το διδάσκουν σε engineering σχολές. 

Από εκεί και πέρα, δεν θα το πρότεινα για κανένα task του scientific computing, πέρα από την διδασκαλία. 

Για το task που ρωτάς σε αυτό το thread, σου έγραψα ήδη τι θα έπρεπε να κάνεις εάν θέλεις να μάθεις. Εικάζω πως απλά το έγραψες εκεί που δεν πιάνει μελάνι. Μαγκιά σου, αλλά (από εμπειρία) μάλλον δεν θα μάθεις και ούτε θα μάθεις και πολλά έτσι. 

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

22 ώρες πριν, Sacadmerde είπε

Το MATLAB είναι γλώσσα και περιβάλλον μαζί, φτιαγμένο πάνω σε Java. Παρόλα αυτά, έχει αρκετά bugs, π.χ. το memory leaking στα reference objects ή η βλακεία που έχουν κάνει με την διαχείριση του scope (μεγάλο πρόβλημα όταν φτιάχνεις GUI με MATLAB). Επίσης, έχει αρκετούς περιορισμούς, π.χ. για να φορτώσει μία μεταβλητή από τον σκληρό δίσκο, πρέπει να βρει συνεχόμενη περιοχή μνήμης. Δηλαδή, εάν εσύ θέλεις να φορτώσεις το 3GB signal που έχεις, το MATLAB εάν δεν βρει 3GB συνεχόμενα στην RAM σου, δεν θα το φορτώσει. 

Είναι εύκολο όμως και για αυτό το διδάσκουν σε engineering σχολές. 

Από εκεί και πέρα, δεν θα το πρότεινα για κανένα task του scientific computing, πέρα από την διδασκαλία. 

Για το task που ρωτάς σε αυτό το thread, σου έγραψα ήδη τι θα έπρεπε να κάνεις εάν θέλεις να μάθεις. Εικάζω πως απλά το έγραψες εκεί που δεν πιάνει μελάνι. Μαγκιά σου, αλλά (από εμπειρία) μάλλον δεν θα μάθεις και ούτε θα μάθεις και πολλά έτσι. 

καλησπέρα, το αρχικό task που είχα το τελείωσα. η ερώτηση που έκανα ήταν γενική.  Δεν είμαι μηχανικός , που είπες κάτι για engineering, και το θέλω για πρακτικούς λόγους για finance/econometrics  γιατί χρειάζονται για data analysis. και όπως είπα εν ολίγοις, δεν το χρειάζομαι για την πλάκα μου ή να κάνω επίδειξη γνώσεων αλλά είναι object-oriented το να μάθω κάποια γλώσσα προγραμματισμού και μάλιστα να είναι και free!

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

1 ώρα πριν, john_loux είπε

καλησπέρα, το αρχικό task που είχα το τελείωσα. η ερώτηση που έκανα ήταν γενική.  Δεν είμαι μηχανικός , που είπες κάτι για engineering, και το θέλω για πρακτικούς λόγους για finance/econometrics  γιατί χρειάζονται για data analysis.

To MATLAB δεν είναι καλή επιλογή για κανένα κλάδο, εκτός από μερικά μαθήματα engineering σχολών. Για το πεδίο που λες, υπάρχουν πολύ καλύτερα εργαλεία. Από το R μέχρι και Python. 

1 ώρα πριν, john_loux είπε

και όπως είπα εν ολίγοις, δεν το χρειάζομαι για την πλάκα μου ή να κάνω επίδειξη γνώσεων αλλά είναι object-oriented το να μάθω κάποια γλώσσα προγραμματισμού και μάλιστα να είναι και free!

Το MATLAB έχει πολύ προβληματικό object oriented programming, και αυτό γιατί υπάρχει μεγάλο πρόβλημα με memory leaks στα reference objects. Επίσης, από πότε το MATLAB είναι free;

 

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

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

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

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

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

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

Σύνδεση

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

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