Το Στέκι των Πληροφορικών

Γενικό Λύκειο => Τμηματικός προγραμματισμός => Γ΄ Λυκείου => Συναρτήσεις => Μήνυμα ξεκίνησε από: nikolasmer στις 21 Δεκ 2015, 11:37:32 ΜΜ

Τίτλος: Μέθοδος Newton Raphson
Αποστολή από: nikolasmer στις 21 Δεκ 2015, 11:37:32 ΜΜ
Στην διεύθυνση
https://en.m.wikipedia.org/wiki/Newton–Raphson_method (https://en.m.wikipedia.org/wiki/Newton%E2%80%93Raphson_method)
υπάρχει ένας αλγόριθμος σε ψευδογλώσσα που δυσκολεύομαι να κατανοησω πως ακριβώς δουλεύει. Υπάρχει κανείς που μπορεί να βοηθήσει εξηγώντας τον; Ευχαριστω
Τίτλος: Απ: Μέθοδος Newton Raphson
Αποστολή από: evry στις 22 Δεκ 2015, 09:49:38 ΠΜ
Η παρακάτω εικόνα είναι χαρακτηριστική
Παρατήρησε πως πλησιάζει το σημείο τομής της εφαπτομένης με τον άξονα των χ, στη ρίζα της συνάρτησης

(https://upload.wikimedia.org/wikipedia/commons/e/e0/NewtonIteration_Ani.gif)

Ουσιαστικά κάθε βήμα του αλγορίθμου παράγει ένα νέο σημείο. Το σημείο αυτό είναι το σημείο τομής της εφαπτομένης της συνάρτησης με τον άξονα των x. Στη συνέχεια παίρνεις την εφαπτομένη του νέου σημείου και βρίσκεις το νέο σημείο τομής. Αυτή η ακολουθία συγκλίνει στη λύση.

Αν θες τη γνώμη μου πάντως πέρα από το γεωμετρικό δες και την απόδειξη της μεθόδου για να δεις πως προκύπτει από την παράγωγο, με τις διαφορές. Αυτό ίσως σε βοηθήσει περισσότερο στην κατανόηση της μεθόδου
Τίτλος: Απ: Μέθοδος Newton Raphson
Αποστολή από: itt στις 22 Δεκ 2015, 10:17:52 ΠΜ
Τι μου θύμισες, κάπου σε έναν δίσκο έχω ένα ξεχασμένο πρόγραμμα σε Fortran 95 που έβγαζε NR.
Τίτλος: Απ: Μέθοδος Newton Raphson
Αποστολή από: bugman στις 22 Δεκ 2015, 10:48:57 ΠΜ
Τη θυμάμαι τη μέθοδο,ανήκει στα εφαρμοσμένα μαθηματικά. Ο ψευδοκώδικας είναι πολύ απλός. Χρησιμοποιεί ένα μέγιστο αριθμό επαναλήψεων για ασφάλεια, επειδή μπορεί να έχουμε λάθος εκλογή τιμής εκκίνησης. Οπότε πρέπει να δούμε πώς τερματίζει η επανάληψη. Έχει οριστεί μια τιμή Ε όπου αν η παράγωγος είναι μικρότερη, βάζει την απόλυτη τιμή abs() στον έλεγχο συνθήκης, τότε κάνει διακοπή, με άμεση έξοδο. Επίσης έχει και τον έλεγχο της κανονικής συνθήκης, την σύγκριση των δύο τελευταίων τιμών. Να γιατί κρατάει την καινούρια υπολογισμένη στην παλιά.
Προφανώς η απορία θα είναι ή η χρήση του E, ή το break. Το πρώτο είναι θέμα μαθηματικών, το δεύτερο όπως έμαθα εδώ δεν υπάρχει, αλλά μπορεί να γραφεί με τον εξής τρόπο ...με τη χρήση σημαίας. Δηλαδή μια μεταβλητή που το 1 θα σημαίνει διακοπή. Άρα ξεκινάμε με σημαία 0 και σε κάθε περίπτωση ελέγχουμε τη σημαία, αν είναι 1 τότε κάνουμε παράκαμψη. Αυτή γίνεται π.χ.με μια Αν, απλά πρέπει να μπει εδώ  σε δύο στάδια εντός, και ένα στή δομή επανάληψης. Οπότε παρόλο που λέει For στο ψευδοκώδικα, μάλλον θα πάει στο ΌΣΟ με προσθήκη στη συνθήκη ΚΑΙ ΑΑ όπου το ΑΑ να είναι η σημαία. Όλο αυτό το αποφεύγει κανείς με τη διέκοψε, αλλά όπως ξέρουμε..έχει απορριφθεί η χρήση στη ΓΛΩΣΣΑ.
Τίτλος: Απ: Μέθοδος Newton Raphson
Αποστολή από: Αθανάσιος Πέρδος στις 22 Δεκ 2015, 04:11:30 ΜΜ
Παράθεση από: nikolasmer στις 21 Δεκ 2015, 11:37:32 ΜΜ
Στην διεύθυνση
https://en.m.wikipedia.org/wiki/Newton–Raphson_method (https://en.m.wikipedia.org/wiki/Newton%E2%80%93Raphson_method)
υπάρχει ένας αλγόριθμος σε ψευδογλώσσα που δυσκολεύομαι να κατανοησω πως ακριβώς δουλεύει. Υπάρχει κανείς που μπορεί να βοηθήσει εξηγώντας τον; Ευχαριστω

Στο νέο  βιβλίο - σημειώσεις των ΕΠΑΛ της Β Λυκείου   (http://www.iep.edu.gr/images/school_books/%CE%92_%CE%95%CE%A0%CE%91%CE%9B_%CE%93%CE%95%CE%9D_%CE%A0%CE%91%CE%99%CE%94%CE%95%CE%99%CE%91%CE%A3_-_%CE%95%CE%99%CE%A3%CE%91%CE%93%CE%A9%CE%93%CE%97_%CE%A3%CE%A4%CE%99%CE%A3_%CE%91%CE%A1%CE%A7%CE%95%CE%A3_%CE%91%CE%A1%CE%A7%CE%95%CE%A3_%CE%A4%CE%97%CE%A3_%CE%95%CE%A0%CE%99%CE%A3%CE%A4%CE%97%CE%9C%CE%97%CE%A3_%CE%A4%CE%A9%CE%9D_%CE%97%CE%A5.pdf) υπάρχει περιγραφή της μεθόδου στη σελίδα 29 και υλοποίηση στη σελίδα 70. Αν δεν είσαι οπτικός τύπος και δεν έχεις καλυφθεί από τον evry παραπάνω, νομίζω ότι θα βοηθηθείς.

Τίτλος: Απ: Μέθοδος Newton Raphson
Αποστολή από: dpa2006 στις 22 Δεκ 2015, 08:13:28 ΜΜ
Παράθεση από: nikolasmer στις 21 Δεκ 2015, 11:37:32 ΜΜ
Στην διεύθυνση
https://en.m.wikipedia.org/wiki/Newton–Raphson_method (https://en.m.wikipedia.org/wiki/Newton%E2%80%93Raphson_method)
υπάρχει ένας αλγόριθμος σε ψευδογλώσσα που δυσκολεύομαι να κατανοησω πως ακριβώς δουλεύει. Υπάρχει κανείς που μπορεί να βοηθήσει εξηγώντας τον; Ευχαριστω

Δες κι εδώ σε Matlab
http://www.mathworks.com/matlabcentral/fileexchange/43097-newton-raphson-solver
Εδώ σε Scilab
http://programming-with-scilab.blogspot.gr/2012/04/solution-of-single-non-linear-equation.html
http://www.openeering.com/sites/default/files/Numerical_Analysis_Scilab_Root_Finding_0.pdf