Μέθοδος Newton Raphson

Ξεκίνησε από nikolasmer, 21 Δεκ 2015, 11:37:32 ΜΜ

« προηγούμενο - επόμενο »

nikolasmer

Στην διεύθυνση
https://en.m.wikipedia.org/wiki/Newton–Raphson_method
υπάρχει ένας αλγόριθμος σε ψευδογλώσσα που δυσκολεύομαι να κατανοησω πως ακριβώς δουλεύει. Υπάρχει κανείς που μπορεί να βοηθήσει εξηγώντας τον; Ευχαριστω
Μερεντίτης Νικόλαος
Πληροφορικός

evry

#1
Η παρακάτω εικόνα είναι χαρακτηριστική
Παρατήρησε πως πλησιάζει το σημείο τομής της εφαπτομένης με τον άξονα των χ, στη ρίζα της συνάρτησης



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

Αν θες τη γνώμη μου πάντως πέρα από το γεωμετρικό δες και την απόδειξη της μεθόδου για να δεις πως προκύπτει από την παράγωγο, με τις διαφορές. Αυτό ίσως σε βοηθήσει περισσότερο στην κατανόηση της μεθόδου
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr

itt

Τι μου θύμισες, κάπου σε έναν δίσκο έχω ένα ξεχασμένο πρόγραμμα σε Fortran 95 που έβγαζε NR.

bugman

Τη θυμάμαι τη μέθοδο,ανήκει στα εφαρμοσμένα μαθηματικά. Ο ψευδοκώδικας είναι πολύ απλός. Χρησιμοποιεί ένα μέγιστο αριθμό επαναλήψεων για ασφάλεια, επειδή μπορεί να έχουμε λάθος εκλογή τιμής εκκίνησης. Οπότε πρέπει να δούμε πώς τερματίζει η επανάληψη. Έχει οριστεί μια τιμή Ε όπου αν η παράγωγος είναι μικρότερη, βάζει την απόλυτη τιμή abs() στον έλεγχο συνθήκης, τότε κάνει διακοπή, με άμεση έξοδο. Επίσης έχει και τον έλεγχο της κανονικής συνθήκης, την σύγκριση των δύο τελευταίων τιμών. Να γιατί κρατάει την καινούρια υπολογισμένη στην παλιά.
Προφανώς η απορία θα είναι ή η χρήση του E, ή το break. Το πρώτο είναι θέμα μαθηματικών, το δεύτερο όπως έμαθα εδώ δεν υπάρχει, αλλά μπορεί να γραφεί με τον εξής τρόπο ...με τη χρήση σημαίας. Δηλαδή μια μεταβλητή που το 1 θα σημαίνει διακοπή. Άρα ξεκινάμε με σημαία 0 και σε κάθε περίπτωση ελέγχουμε τη σημαία, αν είναι 1 τότε κάνουμε παράκαμψη. Αυτή γίνεται π.χ.με μια Αν, απλά πρέπει να μπει εδώ  σε δύο στάδια εντός, και ένα στή δομή επανάληψης. Οπότε παρόλο που λέει For στο ψευδοκώδικα, μάλλον θα πάει στο ΌΣΟ με προσθήκη στη συνθήκη ΚΑΙ ΑΑ όπου το ΑΑ να είναι η σημαία. Όλο αυτό το αποφεύγει κανείς με τη διέκοψε, αλλά όπως ξέρουμε..έχει απορριφθεί η χρήση στη ΓΛΩΣΣΑ.

Αθανάσιος Πέρδος

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

Στο νέο βιβλίο - σημειώσεις των ΕΠΑΛ της Β Λυκείου  υπάρχει περιγραφή της μεθόδου στη σελίδα 29 και υλοποίηση στη σελίδα 70. Αν δεν είσαι οπτικός τύπος και δεν έχεις καλυφθεί από τον evry παραπάνω, νομίζω ότι θα βοηθηθείς.


dpa2006

Παράθεση από: nikolasmer στις 21 Δεκ 2015, 11:37:32 ΜΜ
Στην διεύθυνση
https://en.m.wikipedia.org/wiki/Newton–Raphson_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
Computer science (abbreviated CS or CompSci) is the scientific and practical approach to computation and its applications. It is the systematic study of the feasibility, structure, expression, and mechanization of the methodical processes (or algorithms) that underlie the acquisition, representation, processing, storage, communication of, and access to information, whether such information is encoded in bits and bytes in a computer memory or transcribed engines and protein structures in a human cell.source:http://en.wikipedia.org/wiki/Computer_science