Dr.Fuzzy Δημοσ. 12 Οκτωβρίου 2009 Δημοσ. 12 Οκτωβρίου 2009 Αυτό που λες δεν γίνεται! Απλά διότι το r είναι μεταβλητή δηλαδή 'κάποιος' αριθμός! Πως περιμένεις να πάρεις αποτέλεσμα από την hypot με ορίσματα που δεν ξέρει την τιμή τους; Είναι σαν να σου ζητάω να μου πεις πόσο κάνει (numerical value) το a^2 χωρίς να σου δίνω την τιμή του a...
piti Δημοσ. 12 Οκτωβρίου 2009 Μέλος Δημοσ. 12 Οκτωβρίου 2009 Για να σε κατατοπισω καλυτερα,Dr.Fuzzy, στη σχεση r=w1*x1 +w2*x2+ ... +w20*x20, τα w1,...,w20 ειναι τα βαρη του χαρτοφυλακιου μου , δηλαδη τα ποσα που επενδυονται αντιστοιχα σε καθε μια απο τις 20-μετοχες υψηλης καφαλαιοποιησης του χρη. Αθηνων.Τα χ1,...,χ20 ειναι οι μεσες τιμες των μετοχων αυτων, αντιστοιχα, κατα συνεπεια το r ειναι η μεση τιμη του χαρτοφυλακιου μου.Εχοντας εκφρασει τα w1,...,w20 συναρτηση του r απο τη λυση του ΑΧ=Β (Markovitz theorem), το επομενο βημα ειναι να υπολογισω τη διασπορα του χαρτοφυλακιου μου που ειναι ιση με τη ριζα του αθροισματος των τετραγωνων των w1,...,w20, που επι τησ ουσιας ειναι μια συναρτησυ μονο του r.Εαν βρω τωρα για ποια τιμη του r ελαχιστοποιειται η διασπορα(κινδυνος) μπορω αμεσα να βρω τα τελικα ζητουμενα w1,...,w20.Δηλαδη με τη συναρτηση hypot εγω δεν ζηταω αποτελεσμα νουμερο, αλλα τη διασπορα σε συναρτηση του r και στη συνεχεια να βρω το ελαχιστο ως προς r. Αυτο δεν μπορει να γινει με matlab? Ελπιζω να μη σε τρελανα
Dr.Fuzzy Δημοσ. 12 Οκτωβρίου 2009 Δημοσ. 12 Οκτωβρίου 2009 Γίνεται, αλλά όχι όπως προσπαθείς να το κάνεις. To MATLAB κάνει πράξεις με πίνακες, και μέχρι εκεί φτάνει η 'εξυπνάδα του'. Το σκεπτικό σου ταιριάζει καλύτερα αν το έλυνες με το χέρι. To r σου δεν μπορεί να είναι απλά μια αόριστη μεταβλητή αλλά πρέπει να είναι constrained σε ένα εύρος τιμών (τα όρια πρέπει να τα γνωρίζεις έστω και στο περίπου). Άρα λοιπόν όρισε το r σου σαν vector, για παράδειγμα: > r=0:.05:1; και εν συνεχεία ακολούθησε το πρώτο παράδειγμα στο link που σου έδωσα για να κάνεις ελαχιστοποίηση με μία μεταβλητή.
piti Δημοσ. 12 Οκτωβρίου 2009 Μέλος Δημοσ. 12 Οκτωβρίου 2009 Δηλαδη, στη βασικη σελιδα οριζω r=0:.01:2 ; , w1=r/2-4/3, w2=2/3-r/2 (π.χ) και στο editor που οριζω τις συναρτησεις function=my_function(w1,w2) s=hypot(w1,w2)? Αυτο το κανω και δε δουλευει?
Dr.Fuzzy Δημοσ. 12 Οκτωβρίου 2009 Δημοσ. 12 Οκτωβρίου 2009 Εννοείτε ότι αφού θα ορίσεις το r σαν vector δεν θα το ορίσεις και σαν symbolic variable, r=sym('r'). Κάνε post ξανά τον κώδικα σου αν έχεις πρόβλημα (βάλε τον κώδικα σε code tags!).
piti Δημοσ. 12 Οκτωβρίου 2009 Μέλος Δημοσ. 12 Οκτωβρίου 2009 [function =my_function(w1,w2,w3) s=hypot(w1,w2,w3); end.] Στη βασικη σελιδα [r=0:.01:2 και w1=4/3-r/2,w2=1/3,w3=r/2-2/3] κανω call στη συναρτηση [s=my_function(w1,w2,w3)], και μου βγαζει προβλημα στον ορισμο του [s=hypot(w1,w2,w3)] και στο input args ---------- Το μήνυμα προστέθηκε στις 16:48 ---------- sorry για τον κωδικα.
Dr.Fuzzy Δημοσ. 12 Οκτωβρίου 2009 Δημοσ. 12 Οκτωβρίου 2009 1ον) Βάλε code tags όταν κάνεις post κώδικα! Είναι το # κουμπάκι! 2ον) Δώσε help hypot και θα δεις ότι η συνάρτηση δέχεται 2 ορίσματα και όχι 3 !
piti Δημοσ. 12 Οκτωβρίου 2009 Μέλος Δημοσ. 12 Οκτωβρίου 2009 Thanks Dr.Fuzzy, επιτελους μου δουλευει.Μηπως ομως, ξερεις και τον τροπο να μου βγαζει το αθροισμα τον w1,w2... σε συναρτηση του r και οχι να μου βγαζει συγκεκριμενες τιμες για το αθροισμα με βαση το [r=0:.01:20], για να αποφυγω πολυ γραψιμο?
Dr.Fuzzy Δημοσ. 12 Οκτωβρίου 2009 Δημοσ. 12 Οκτωβρίου 2009 Thanks Dr.Fuzzy, επιτελους μου δουλευει.Μηπως ομως, ξερεις και τον τροπο να μου βγαζει το αθροισμα τον w1,w2... σε συναρτηση του r και οχι να μου βγαζει συγκεκριμενες τιμες για το αθροισμα με βαση το [r=0:.01:20], για να αποφυγω πολυ γραψιμο? Το πρώτο που ρωτάς δεν γίνεται για τον λόγο που σου εξήγησα παραπάνω. Μα το r το έχεις για να κάνεις την ελαχιστοποίηση, αυτός δεν είναι ο σκοπός; Έκανες ελαχιστοποίηση; Αλλιώς αν δεν σε ενδιαφέρει να ελαχιστοποιήσεις βάλτου μια σταθερή τιμή, αλλά φαντάζομαι δεν σου ζητάει αυτό η άσκηση.
piti Δημοσ. 12 Οκτωβρίου 2009 Μέλος Δημοσ. 12 Οκτωβρίου 2009 Οχι ,απλα ρωταω μηπως γινεται(απο τα w που ειναι συναρ. του r) να βρω το αθροισμα τετραγωνων αυτων σαν συναρτηση του r,και οχι να μου βγαλει για καθε μια απο τις δυνατες τιμες[r=0:.01:20] την αντιστοιχη τιμη για το αθροισμα.Μου βγαζει ολες τις δυνατες πραγματικες τιμες.
Dr.Fuzzy Δημοσ. 13 Οκτωβρίου 2009 Δημοσ. 13 Οκτωβρίου 2009 ...Πάμε πάλι. Τα αποτελέσματα που παίρνεις είναι συναρτήσει του r ή καλύτερα σκέψου το σαν μία bounded συνάρτηση που δέχεται ένα εύρος διακριτών τιμών. Αυτό που ζητάς εσύ χωρίς να το έχεις καταλάβει είναι χοντρικά μια συνάρτηση unbounded και continues ως προς το σύνολο r. Δεν γίνεται αυτό! Έχεις λοιπόν ένα σύνολο λύσεων για τα όρια του r που έχεις ορίσει, οπότε ακολούθησε το παράδειγμα του link και κάνε ελαχιστοποίηση.
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.