kostask91 Δημοσ. 20 Νοεμβρίου 2013 Μέλος Δημοσ. 20 Νοεμβρίου 2013 Καλα αστο , για να μη σε πρηζω και σενα το παραταω , δε το χω . Το πολυ πολυ την βρισκω ετοιμη να δω πως γινεται, η δεν την γραφω και καθολου Απλως μου φαινεται οτι ανεβασε το επιπεδο αποτομα , γιατι μεχρι και την προηγουμενη εργασια τις ελυνα ολες τις ασκησεις , με μικροαποριες , που ειτε τις ελυνα μεσω google ειτε εδω. Τωρα απο τις 5 ασκησεις μπορεσα να κανω μονο τις 2
Timonkaipumpa Δημοσ. 20 Νοεμβρίου 2013 Δημοσ. 20 Νοεμβρίου 2013 Καλα αστο , για να μη σε πρηζω και σενα το παραταω , δε το χω . Το πολυ πολυ την βρισκω ετοιμη να δω πως γινεται, η δεν την γραφω και καθολου Απλως μου φαινεται οτι ανεβασε το επιπεδο αποτομα , γιατι μεχρι και την προηγουμενη εργασια τις ελυνα ολες τις ασκησεις , με μικροαποριες , που ειτε τις ελυνα μεσω google ειτε εδω. Τωρα απο τις 5 ασκησεις μπορεσα να κανω μονο τις 2 Με αυτό που σου παρέθεσα στο πρώτο μου post λύνεις μία χαρά την άσκηση. Απλά δεν κάθεσαι να το βρεις και να δεις πως γίνεται.
kostask91 Δημοσ. 20 Νοεμβρίου 2013 Μέλος Δημοσ. 20 Νοεμβρίου 2013 Οχι και δεν εκατσα.. 2 ωρες το σκεφτομαι και το ψαχνω . Απλα ειμαι σιγουρος 100% οτι το σκεφτομαι λαθος γιαυτο και το παρατησα, γιατι οσες φορες ειπα να το ξαναξεκινησω απο την αρχη , παλι λαθος το σκεφτομαι , μετα μου βγαζει και κατι error το octave, νευριαζω και το κλεινω, και μετα παλι απο την αρχη τα ιδια. Με αυτο που μου εστειλες , δε βρηκα κατι που μπορει να με βοηθησει , γιαυτο λεω οτι σκεφτομαι λαθος..
Timonkaipumpa Δημοσ. 20 Νοεμβρίου 2013 Δημοσ. 20 Νοεμβρίου 2013 Αυτό που ψάχνεις στην ουσία είναι ένας δυναμικός τρόπος να επιλέγεις συγκεκριμένα στοιχεία από έναν πίνακα. Στο παράδειγμα που σου έδωσα έχει τον τρόπο να επιλέγεις συγκεκριμένα στοιχεία. Νομίζω πως μπορείς, αυξάνοντας σιγά σιγά την δυσκολία, να βρεις πώς θα το κάνεις μέχρι εκεί. Π.χ., εάν θέλει κανείς να παίρνει τα στοιχεία από ένα τετράγωνο μέσα σε έναν πίνακα ξέροντας μόνο το μήκος πλευράς θα μπορούσε να γράψει: A(((side_length/2) - the_center)(side_length/2) + the_center), ((side_length/2) - the_center)(side_length/2) + the_center)) Όπου side_length είναι το μήκος πλευράς του τετραγώνου που θέλει και the_center είναι το κεντρικό στοιχείο του τετραγώνου που θα πάρει. Και από αυτό (εάν κατάλαβα καλά) θα θες να βρεις εάν έχουν κάποια τιμή... οπότε θέτεις το παραπάνω ίσο με B και έχεις το logical indexing στον B. Υ.Γ. Φυσικά δεν έκανα τους ελέγχους για integer indices, indices out of length κτλ.. ένα γενικό παράδειγμα για να καταλάβεις την ιδέα.
kostask91 Δημοσ. 20 Νοεμβρίου 2013 Μέλος Δημοσ. 20 Νοεμβρίου 2013 Αυτο που εγραψες με το τετραγωνο το καταλαβα , απλα το θεμα και παλι ειναι οτι δεν εχω τη λογικη του πραγματος, και δε ξερω και πως θα την αποκτησω. Θα το παλεψω τωρα στο κυκλο να δω αν βγαλω ακρη
Timonkaipumpa Δημοσ. 20 Νοεμβρίου 2013 Δημοσ. 20 Νοεμβρίου 2013 Την αποκτάς μόνο με trial & error και δοκιμάζοντας συνέχεια.
kostask91 Δημοσ. 21 Νοεμβρίου 2013 Μέλος Δημοσ. 21 Νοεμβρίου 2013 Με δεδομενα τα N,r,x0,y0 : [x,y]=meshgrid(1:N , 1:N);points = [x( y(];distance = sqrt((x-x0)^2+(y-y0)^2); distance(distance<=r) = 0; distance(distance>r) = 64; Που ειναι το λαθος μου ??? Tα διαγραμματα που μου βγαζει ειναι αυτα: Το ενα ειναι για Ν=300 κτλ και το αλλο για Ν=400 κτλ
melodystyle2003 Δημοσ. 21 Νοεμβρίου 2013 Δημοσ. 21 Νοεμβρίου 2013 distance(distance<=r) = 0; distance(distance>r) = 64; μακάρι να ήταν έτσι απλά! Βάζε και τι σφάλμα δίνει διότι από μυαλού μπορεί να γίνονται παρερμηνείες. Είδα το αποτέλεσμα που έβαλες, πρόσεχε ψάχνεις κύκλο και όχι σε απλό όριο γραμμής! Του λες στο πίνακα distance με index distance<=r ε κάπου εδώ σου λέει η μηχανή what; i ll do what i can. Όρισε του σε ποια όρια θα ψάξει, δηλ distance>r έως που και σε ποιο πίνακα να το αναζητήσει; π.χ. matrixdistance=find(distance<=r) σου δίνει αμέσως τις θέσεις (index) στο πίνακα. Σπάστο σε απλά λογικά βήματα. Βρες ποια στοιχεία δίνει η εντολή: distance<=r. Αποθήκευσέ τα σε άλλο πίνακα. Μετά μη το βάλεις να ψάξει να βρει τα στοιχεία αυτά αλλά το index αυτών στο πίνακα (είναι τελείως άλλο πράγμα να βρει τη τιμή και άλλο να βρει ποια στοιχεία ανήκουν στην ερώτηση που κάνεις, δηλ σε ποια θέση του πίνακα βρίσκεται το στοιχείο με τιμή αποδεκτή για τη distance<=r;) και άλλαξέ του τη τιμή βάσει θέσης των στοιχείων στο πίνακα distance ύστερα.
kostask91 Δημοσ. 21 Νοεμβρίου 2013 Μέλος Δημοσ. 21 Νοεμβρίου 2013 Δε μπορω να το καταλαβω αυτο. Οταν του δινεις εναν τυχαιο πινακα και του λες πχ " r(r>2) = 0 " γιατι δε θελει ορια ? Εχω κανει τις αλλες 4 , και μου εχει μεινει αυτη η γ@μημενη.... Και το θεμα ειναι οτι δε μπορω να καταλαβω καθολου τη λογικη αυτης της ασκησης , ενω την εχει και δευτερη σε σειρα δυσκολιας απο τις 5 και οπως ειπα τις αλλες τις εκανα, και δεν εχω και χρονο να πεισμωσω και να την λιωσω
Timonkaipumpa Δημοσ. 21 Νοεμβρίου 2013 Δημοσ. 21 Νοεμβρίου 2013 Καταρχάς, θα πρέπει να καταλάβεις τι του λες με το: r(r>2) = 0; Για αυτό σου έβαλα το link στην αρχή. Αυτό που του λες είναι: Βρες ποια στοιχεία (τα indices δηλαδή) του r είναι μεγαλύτερα του 2 (με το r > 2) Κάνε τα στοιχεία του r που έχουν τα indices του προηγούμενου βήματος ίσα με 0 (με το r(r>2) =0 ) Η άσκηση είναι πολύ απλή αλλά δίνεις την εντύπωση ότι δεν θέλεις να ασχοληθείς. Π.χ., θα μπορούσες να κάνεις: r(r>2) Και να δεις τι σου βγάζει. Μετά να δεις τα στοιχεία του r και να προσπαθήσεις να καταλάβεις τι γίνεται. Μετά να δεις και το link που παρέθεσα στην αρχή και να καταλάβεις ακριβώς τι γίνεται εκεί μέσα. Αντιθέτως, η εντύπωση που σχηματίζω (που μπορεί να είναι και λανθασμένη) είναι ότι γράφεις 5 - 10 γραμμές κώδικα με ό,τι βλέπεις εδώ και κοιτάς μόνο το αποτέλεσμα εάν σου κάνει. Εάν δεν σου κάνει έρχεσαι πάλι εδώ για να ρωτήσεις πώς θα το φτιάξεις. Γιατί δεν νομίζω να μην καταλαβαίνεις τι είναι το ">". Ούτε τι είναι το r > 2. Εάν δεν το καταλάβαινες, μία απλή και λογική σκέψη θα ήταν να το γράψεις στο command window και να δεις τι επιστρέφει και να συγκρίνεις το αποτέλεσμα με τα δεδομένα σου και την εντολή που δίνεις.
kostask91 Δημοσ. 21 Νοεμβρίου 2013 Μέλος Δημοσ. 21 Νοεμβρίου 2013 Λανθασμενη ειναι Εκανα ολοιδιο προγραμμα απλα με μικρο Ν=10 κατω στο command window , για να δω αναλυτικα τι παρουσιαζεται με καθε εντολη. Απλα οπως ειπα δεν εχω το χρονο να κατσω να πεισμωσω, γιαυτο και γραφω συχνα εδω. Η αληθεια ειναι οτι μερικα στοιχειωδη δε τα ξερω, καθως δεν εχω απο που να διαβασω. Το βιβλιο του αναφερει μονο τα ευκολα ( πραξεις πινακων , αντε καμια plot και κατι τετοια ) Απλα ξαναλεω δε ξερω γιατι , αλλα κολλησα πολυ σε αυτη την ασκηση , θα αρχισω να πιστευω οτι ειμαι βλακας στο τελος Mε μπερδευει και το meshgrid , εγω εχω στο μυαλο μου οτι μου δινει συντεταγμενες , οποτε με τη συνθηκη που εγραψα , για καθε μια συντεταγμενη αν το distance ειναι μεγαλυτερο να το "ασπριζει" αλλιως να το "μαυριζει" , αλλα δεν νομιζω να πηγαινει ετσι Το λαθος μου ειναι σε αυτα: distance(distance<=r) = 0; distance(distance>r) = 64; ? Τα προηγουμενα ειναι σωστα ?
kostask91 Δημοσ. 22 Νοεμβρίου 2013 Μέλος Δημοσ. 22 Νοεμβρίου 2013 Τελικα μια χαρα τα ειχα η μαλακια μου ηταν οτι ξεχασα να βαλω τελειες στην υψωση στο τετραγωνο στο distance αφου το x,y ειναι πινακες. Ευχαριστω για τη βοηθεια
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα