Title: Matlab plotting-Eρωτήσεις Post by: Anyparktos on May 13, 2010, 19:18:14 pm Έχω μια απορία και δε βγάζω μεγάλη άκρη με όσα βλέπω στο google.Σίγουρα θα υπάρχει κάποιος τρόπος να φτιάξει κανείς στο matlab καμπύλη από ένα πεπερασμένο αριθμό σημείων αλλά αυτό που χρειάζομαι είναι ένας τρόπος να φτιάξεις μια ομαλή προσεγγιστική καμπύλη που δεν ειναι ανάγκη να περνα από τα σημεία των δεδομενων.Στις μηχανές Β πρεπει να κανουμε διαγράμματα στα οποια η καμπύλη να είναι τόσο ομαλή που να αφήνει εκατέρωθεν της σήμεια που αντιστοιχούν σε μετρήσεις.Έχει κανείς καμια ιδέα?
Title: Re: Matlab plotting-Eρωτήσεις Post by: mendelita on May 13, 2010, 20:10:16 pm Υποθέτω ότι αν περάσεις τα δεδομένα σου από μια συνάρτηση moving average και κάνεις plot την έξοδό της θα έχεις το αποτέλεσμα που θες.. Γενικά πρέπει να βρεις ένα φίλτρο που να βγάζει το μέσο όρο των δεδομένων σου. Title: Re: Matlab plotting-Eρωτήσεις Post by: onar on May 13, 2010, 20:16:10 pm λοιπον
κανεις την μεταβλητη σου χ= καποιεσ τιμες κανεις την μεταβλητη σου την ψ=..... μετα κανεις plot(y) οταν σου βγαλει το διαγραμμα με τα σημεια πας TOOLS ->BASIC FITING (απο το παραθυρο του διαγραμματος) απο εκει επιλεγεις αν θες να ειναι πολυωνιμικη 2ου βαθμου 3ου , γραμμικη κτλ. γενικα κανεις λιγες δοκιμες και θα δεις τι σε βολευει επειδη δε θες να ενωνονται τα σημεια μεταξυ τους με ευθεια γραμμη προφανως θα δοκιμασεις να τα κανεις καμπυλη... Title: Re: Matlab plotting-Eρωτήσεις Post by: Aurelius on May 13, 2010, 20:30:13 pm λολ, εσυ θελεις να κανεις linear least squares απο οτι καταλαβαινω. Αν και πρεπει να υπαρχει και ετοιμη συναρτηση, ειναι πολυ ευκολο να το κανεις και μονο σου
Αν εχεις 20 σημεια συνολικα απο τα οποια θες να περασεις την γραμμη, αυτο σημαινει οτι εχεις 20 τιμες για το y και 20 τιμες για το x. Ο πινακας σου X θα ειναι 20x3, η πρωτη στηλη θα ειναι οι μοναδες που αντιστοιχει στο Στο http://en.wikipedia.org/wiki/Least_squares τα λεει πολυ καλα. Υ.Γ. Καποιος αλλος απαντησε πως γινεται αυτοματα, καλο ειναι να ξερουμε πως βγαινουν κιολας. Title: Re: Matlab plotting-Eρωτήσεις Post by: [x:y:z] on May 13, 2010, 20:51:26 pm Με την a=polyfit(x,y,n) βρίσκεις τους συντελεστές του πολυωνύμου n βαθμού, το οποίο φιτάρει με τη μέθοδο ελαχίστων τετραγώνων τα συγκεκριμένα δεδομένα σου x,y.
Στη συνέχεια φτιάχνεις ένα διάνυσμα x_out που περιέχει τις τιμές του άξονα x στις οποίες θέλεις να αντιστοιχήσεις τιμές (στην περίπτωση σου θα βάλεις πολλές τιμές x_out=0:0.01:...) και οι τιμές y_out προκύπτουν από την y_out=polyval(a,x_out). Σε περίπτωση που θέλεις να υπολογίσεις ένα μέτρο τα λάθη εκτίμησης, δηλαδή τον συντελεστή προσδιορισμού R, θα αποθηκεύσεις και τη δομή S --> [a,S]=polyfit(x,y,n) και θα τη χρησιμοποιήσεις στην polyval (δες στο help ή στείλε εδώ για αναλυτικότερο υπολογισμό). Title: Re: Matlab plotting-Eρωτήσεις Post by: onar on May 13, 2010, 21:12:47 pm ρε παιδια ο ανθρωπος 2 απλες καμπυλες θελει να τραβηξει για την εργασια του στις μηχανες β οχι να βαλει σε ταξη το χαος
Title: Re: Matlab plotting-Eρωτήσεις Post by: AgentCain on May 13, 2010, 21:20:22 pm Έχω μια απορία και δε βγάζω μεγάλη άκρη με όσα βλέπω στο google.Σίγουρα θα υπάρχει κάποιος τρόπος να φτιάξει κανείς στο matlab καμπύλη από ένα πεπερασμένο αριθμό σημείων αλλά αυτό που χρειάζομαι είναι ένας τρόπος να φτιάξεις μια ομαλή προσεγγιστική καμπύλη που δεν ειναι ανάγκη να περνα από τα σημεία των δεδομενων.Στις μηχανές Β πρεπει να κανουμε διαγράμματα στα οποια η καμπύλη να είναι τόσο ομαλή που να αφήνει εκατέρωθεν της σήμεια που αντιστοιχούν σε μετρήσεις.Έχει κανείς καμια ιδέα? http://ccsl.mae.cornell.edu/eureqa ειναι standalone, δε σχετιζεται με το matlab Title: Re: Matlab plotting-Eρωτήσεις Post by: Anyparktos on May 13, 2010, 22:20:56 pm λοιπον Mεχρι να το δω αυτο το βρηκα κι απο μονος μου σ ενα vid στο youtube.Tωρα αν μου πει κανεις και πως να βρω το μεγιστο σε μια καμπυλη και να σημειωσω την τιμή του θα ειμαι εντελως ενταξει.κανεις την μεταβλητη σου χ= καποιεσ τιμες κανεις την μεταβλητη σου την ψ=..... μετα κανεις plot(y) οταν σου βγαλει το διαγραμμα με τα σημεια πας TOOLS ->BASIC FITING (απο το παραθυρο του διαγραμματος) απο εκει επιλεγεις αν θες να ειναι πολυωνιμικη 2ου βαθμου 3ου , γραμμικη κτλ. γενικα κανεις λιγες δοκιμες και θα δεις τι σε βολευει επειδη δε θες να ενωνονται τα σημεια μεταξυ τους με ευθεια γραμμη προφανως θα δοκιμασεις να τα κανεις καμπυλη... Ευχαριστω παιδια!Αν και τα απλοτερα ειναι και τα καλυτερα οποτε thanx onar! Title: Re: Matlab plotting-Eρωτήσεις Post by: [x:y:z] on May 13, 2010, 23:12:29 pm ρε παιδια ο ανθρωπος 2 απλες καμπυλες θελει να τραβηξει για την εργασια του στις μηχανες β οχι να βαλει σε ταξη το χαος Ιndeed. Απλώς αυτό που περιέγραψε είναι ακριβώς η μέθοδος ελαχίστων τετραγώνων όπως είπε και ο Aurelius, η οποία υπολογίζεται με τις 2 απλές, θέλω να πιστεύω, εντολές που έγραψα. Κατά τ'άλλα , εεεεεεεελα μωρε, μην το ψάχνεις πολύ, την κάνει τη δουλειά του, βάλε αυτό και είσαι έτοιμος. Έτσι δεν είναι? ;D Title: Re: Matlab plotting-Eρωτήσεις Post by: Emfanever on May 13, 2010, 23:26:41 pm Για να βρεις το μέγιστο λογικά θα υπάρχει κάποια έτοιμη συνάρτηση στο net. Αλλιώς μπορείς να υλοποιήσεις μια συνάρτηση πχ μέθοδο της διχοτόμου , να δεις με το μάτι σε πoιο διάστημα βρίσκεται το ολικό μέγιστο και να βάλεις τη συνάρτηση να ψάξει σε αυτό το διάστημα.
(τεχνικές βελτιστοποίησης, όχι παίζουμε :P) μπορεί βέβαια και να λέω βλακείες και να υπάρχει πολύ πιο εύκολος τρόπος :D Title: deleted Post by: BOBoMASTORAS on May 13, 2010, 23:31:34 pm deleted
Title: Re: Matlab plotting-Eρωτήσεις Post by: Emfanever on May 13, 2010, 23:40:08 pm Αν όμως θέλει να βρει το μέγιστο της καμπύλης που έχει προκύψει από παρεμβολή, αυτός ο τρόπος δεν είναι απόλυτα σωστός, γιατί το μέγιστο μπορεί να μην είναι ένα από τα αρχικά σημεία.
Title: Re: Matlab plotting-Eρωτήσεις Post by: [x:y:z] on May 14, 2010, 00:54:23 am Για να βρεις το μέγιστο λογικά θα υπάρχει κάποια έτοιμη συνάρτηση στο net. Αλλιώς μπορείς να υλοποιήσεις μια συνάρτηση πχ μέθοδο της διχοτόμου , να δεις με το μάτι σε πoιο διάστημα βρίσκεται το ολικό μέγιστο και να βάλεις τη συνάρτηση να ψάξει σε αυτό το διάστημα. (τεχνικές βελτιστοποίησης, όχι παίζουμε :P) μπορεί βέβαια και να λέω βλακείες και να υπάρχει πολύ πιο εύκολος τρόπος :D lool!!!! ;D ;D Tωρα αν μου πει κανεις και πως να βρω το μεγιστο σε μια καμπυλη και να σημειωσω την τιμή του θα ειμαι εντελως ενταξει. για να τις σημειώσεις στο πλοτ σου plot(x,y) --> το πλοτ που έκανες hold on plot(find(y==max(y)),max(y),'x') --> 8α σου σημειώσει με x όπου έχεις τη μέγιστη τιμη Title: Re: Matlab plotting-Eρωτήσεις Post by: Emfanever on May 14, 2010, 01:26:01 am γελάτε εσείς, η μέθοδος μου εξακολουθεί να είναι η απόλυτα σωστή :P
Title: Re: Matlab plotting-Eρωτήσεις Post by: Anyparktos on May 14, 2010, 02:06:14 am Nαι,οκ θεωρητικα μιλωντας μπορουσα να παρω το προσεγγιστικο πολυωνυμο που βγαινει απο το basic fitting και να αρχίσω τις παραγωγίσεις.Με τη διαφορά οτι υπερβιάζομαι και δεν έχω καμία όρεξη να κάνω κάτι τετοιο.Τεσπα,διαλεξα χυμα ενα σημειο μπακάλικα.Μονο να με περάσουν το εργαστήριο θέλω,τίποτα παραπάνω!
ΕDIT:Thanx [x:y:z]!Τώρα είδα τι έγραψες.Θα το δοκιμάσω το πρωί. Title: Re: Matlab plotting-Eρωτήσεις Post by: pmousoul on May 14, 2010, 04:23:49 am ψάξτε λίγο και στο google παίδες.. συνήθως η απάντηση σε ότι αφορά το matlab είναι έτοιμη.. π.χ. "matlab find max and position" στο google και τέλος.. και το help του matlab βοηθάει πολύ.. άργησα λίγο.. ε? :P |