theo2008 Δημοσ. 13 Ιανουαρίου 2009 Δημοσ. 13 Ιανουαρίου 2009 Καλησπερα και χρονια πολλα σε ολους.Θα ηθελα να κανω μια πολυ γενικη ερωτηση σχετικα με αυτοματοποιηση πανω σε μια εργασια που εχω να κανω. Εχω μια πειραματικη γραφικη παρασταση.με την χρηση καποιας εξισωσης που μου δινετε βγαζω και μια θεωρητικη γραφικη.Αυτην η θεωρ.παρασταση ειναι πανω κατω η ιδια με την πειραματικη.Σκοπος μου ειναι να βελτιστοποιησω αυτην την θεωρητικη ωστε οσο γινεται στο τελος να μοιαζει με την πειραματικη.Βασικα αυτη η συναρτηση εχει 3 παραμετρους Ν,Ζ,Κ τις οποιες κα8ε φορα που τις αλλαζω τιμες αλλαζει και η μορφη της γραφικης με αποτελεσμα να πλησιαζει στα προτυπα της πειραματικης.Αυτο το κανω χειροκινιτα μετα απο πολλες αλλαγες στις παραμετρους μου βγαινει πανω κατω το αποτελεσμα που θελω. Αυτο που θελω να ρωτισω ειναι το εξης: Υπαρχει καποιο toolbox γενικα στο matlab που βαζοντας τιμη σε μια παραμετρο π.χ.στην Ν αυτοματα να μου αλλαζει και τις αλλες τιμες που χρειαζονται,χωρις να γινεται χειροκινιτα δηλαδη για καθε παραμετρο? Η ολο αυτο 8α πρεπει να γινει καθαρα γραφοντας δικο μου κωδικα? Στην ουσια κανω fitting σε μια εξισωση.Επισης γνωριζει καποιος αν το curve fitting του matlab μπορει να κανει αυτην την δουλεια? Ευχαριστω πολυ. Υ.Γ.Επειδη ειναι πολυ γενικη η ερωτηση μπορω να δωσω και αλλες διευκρινισεις.
Επισκέπτης Δημοσ. 13 Ιανουαρίου 2009 Δημοσ. 13 Ιανουαρίου 2009 αν οι τιμές των παραμέτρων που δίνεις κάθε φορά είναι συγκεκριμένες, κάνεις έναν πίνακα για κάθε τιμή και χρησιμοποιείς το for loop. είναι πολύ εύκολο. για παράδειγμα θέτεις Ζ=[2 : 2: 100] που σημαίνει ότι έχεις τιμές από το δύο μέχρι το 100 με βήμα το 2. Ή κάνεις έναν πίνακα με τις τιμές ακριβώς που έχεις (έστω [2; 4; 67; 100]; ) Κατόπιν το for loop δουλεύει καπως έτσι: for ii = 2:2:100; Ζ(jj) = ii*κάποιον συντελεστή που μπορεί να μεταβάλει την παράμετρο ή την υπόλοιπη εξίσωση με τις άλλες παραμέτρους, που όμως πριν θα έχεις ορίσει (ορίζεις και το jj=1) ; συνάρτηση = Ζ(jj) + K(kk) * 4 και συνεχίζεις jj = jj+1; end Αυτό στην ουσία παίρνει μια τιμή κάθε φορά και την περνάει στην συνάρτηση, όπως όταν την ορίζεις εσύ. τραβάς και ένα plot την συνάρτηση που έχεις ορίσει και είσαι ΟΚ αν οι τιμές δεν είναι συγκεκριμένες αλλά προκύπτουν από κάπου τότε θα τις θέσεις ώστε να παίρνουν τις τιμές τους από την συνάρτηση που τις παράγει με τον ίδιο τρόπο αλλά πριν από το τελικό for loop. είναι πολύ εύκολο, θέλει λίγο ψάξιμο. Δοκίμασε την βοήθεια του προγράμματος γράψε help for και πιστεύω θα το βρεις αν θες στείλε το email σου σε private msg και θα σου στείλω κάποιες πρόχειρες σημειώσεις
theo2008 Δημοσ. 14 Ιανουαρίου 2009 Μέλος Δημοσ. 14 Ιανουαρίου 2009 φιλε vaio σευχαριστω..αλλα δεν ειναι τοσο απλα τα πραγματα..μαλλον θα χρειαστει διευκρινισεις.Δεν ειναι απλα μια for πιστευω.Με αυτες τις 3 παραμετρους Ν,Ζ,Κ κανω fitting(δοκιμες) ωστε να πετυχω το βελτιστο αποτελεσμα στην θεωρητικη παρασταση.Εχω συγκεκριμενα ορια που πρεπει να κινηθω για τα Ν,Ζ,Κ.Αλλαζω σιγα σιγα τιμη στα Ν,Ζ,Κ και σιγα σιγα πλησιαζει η θεωρητικη την πειραματικη μεχρι να πραγματοποιη8ει το βελτιστο.Εγω θελω με καποιον τροπο αυτο να γινεται αυτοματα.Ας πουμε αν δωσω καποια τιμη στο Ν το προγραμμα αυτοματα να μου βγαζει τα Ζ,Κ που κανουν την θεωρητικη να μοιαζει σχεδον ακριβως με την πειραματικη. Αν σου φαινεται δυσνοητο αυτο που γραφω δεν εχω προβλημα να προσπα8ησω να το κανω πιο ευκολοαναγνωστο.. εμενα αυτο που ρωταω μου φαινεται αρκετα δυσκολο παντως.
insomniaK Δημοσ. 14 Ιανουαρίου 2009 Δημοσ. 14 Ιανουαρίου 2009 2 ερωτησούλες: 1. Τα Ζ και Κ είναι συνάρτηση του Ν; 2. Πως ελέγχεις ότι έφτασες στο βέλτιστο; Γενικά, ο τρόπος λύσης του προβλήματος που περιγράφεις είναι με αντιστροφή του προβλήματος, δηλαδή θες να έχεις μία ποσότητα, πχ RMS ή R^2, που πρέπει να ξεπερνά ένα όριο που εσύ έχεις ορίσει ως επιθυμητό αποτέλεσμα. Επομένως, αυτό που υλοποιείς είναι η πρόταση του vaio.u :+) και την επεκτείνεις, υπολογίζοντας για παράδειγμα και το Least square fit ή οποιοδήποτε άλλο μέτρο χρειάζεται να ορίσεις από το πρόβλημα σου. Αυτήν την τιμή που προκύπτει τη συγκρίνεις με το όριο που έχεις ορίσει εσύ, αν ικανοποιείται το πρόγραμμα βγαίνει από τον κόμβο, αλλιώς συνεχίζει μέχρι να τη βρει. Έτσι όπως έχεις διατυπώσει το πρόβλημα και ζητάς τη λύση, δε νομίζω ότι μπορούμε να σε βοηθήσουμε παραπάνω. Αν κατά τη διάρκεια του προγράμματος έχεις απορίες, postαρε τον κώδικα να σε βοηθήσουμε.
theo2008 Δημοσ. 19 Ιανουαρίου 2009 Μέλος Δημοσ. 19 Ιανουαρίου 2009 για να σας δωσω λιγο να καταλαβετε,σας στελνω τη γραφικη που θελω να βελτιστοποιησω.Εγω αυτο που θελω να κανω ειναι να μεταβαλω τις παραμετους με καποια διακριτα βηματα ετσι ωστε το τελικο αποτελεσμα(θεωρητικη γραφικη) να ειναι οσο το δυνατον πιο κοντα στα πειραματικα(πειραματικη γραφικη)..Δηλαδη με καποιον τροπο να βελτιστοποιησω την διαφορα των αποτελεσματων του προγραμματος με τα πειραματικα... Δειτε λιγο την γραφικη μου οσοι μπορειτε και μετα μπορω να ποσταρω τον κωδικα μου και τις παραμετρους ωστε να κανουμε μια συζητηση για το πως μπορει να επιλυθει αυτο...Απλα δεν μπορω να βρω συγκεκριμενο τροπο για να το κανω.. grafikh.zip
insomniaK Δημοσ. 19 Ιανουαρίου 2009 Δημοσ. 19 Ιανουαρίου 2009 To πρόβλημα φαίνεται απλό, αν ακολουθήσεις το for του vaio.s θα παράγεις όσα γραφήματα θες για σύγκριση. Αν θες να βρεις αυτόματα τη βέλτιστη τιμή, απλά πρέπει να διαλέξεις ένα μέτρο, όπως αυτά που περιέγραψα στο προηγούμενο μήνυμα μου και επομένως θα έχεις ένα κριτήριο που θα σου βγάζει το better fitted.
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.