Χόμπι και ενδιαφέροντα

Πώς να γράψετε κώδικα για τον αλγόριθμο Marquardt

Ο αλγόριθμος Levenberg - Marquardt είναι μια μέθοδος που χρησιμοποιείται στην επιστήμη των υπολογιστών και των μαθηματικών για να βρείτε το τοπικό ελάχιστο της συνάρτησης εκφράζεται ως άθροισμα των ελαχίστων τετραγώνων μη γραμμικών συναρτήσεων . Είναι συχνά χρησιμοποιείται για την επίλυση προβλημάτων γραμμικής παλινδρόμησης και να βρει το ελάχιστο των λειτουργιών που μπορεί να παρασταθεί ως ένα άθροισμα των ελαχίστων τετραγώνων, καθώς και βελτιστοποίησης για τις λειτουργίες που δεν μπορούν να αναλυθούν σε ελαχίστων τετραγώνων. Ο αλγόριθμος είναι επαναληπτική , πράγμα που σημαίνει ότι συνεχίζει να επαναλαμβάνει μέχρις ότου πληρωθεί μία διακοπή κατάσταση , η οποία θεωρείται ότι είναι η βέλτιστη λύση . Μπορείτε να γράψετε κώδικα για τον αλγόριθμο Levenberg - Marquardt χρησιμοποιώντας συναρτήσεις σε MatLab , ή χρησιμοποιώντας τις λειτουργίες που εκτίθενται σε λύσεις γραμμένο σε Fortran και C + + . Τι χρειάζεστε
MatLab
C + +, το πρόγραμμα
Υπολογιστών

Εμφάνιση Περισσότερες οδηγίες
Η 1

Ξεκινήστε το " MatLab " εφαρμογή . " MatLab , " ή μήτρα Laboratory, είναι μια μαθηματική εφαρμογή λογισμικού που είναι ιδιαίτερα χρήσιμο για την επίλυση των εξισώσεων τουλάχιστον τετραγώνων. Χρησιμεύει ως μια γλώσσα προγραμματισμού για εφαρμογές των μαθηματικών και περιλαμβάνει τις λειτουργίες που έχουν σχεδιαστεί ειδικά για τον αλγόριθμο Levenberg - Marquardt . 2

κωδικό Γράψε να χρησιμοποιήσετε τη λειτουργία lsqnonlin σε " MatLab " για την επίλυση μη γραμμικών προβλημάτων ελαχίστων τετραγώνων χρησιμοποιώντας τον αλγόριθμο Levenberg - Marquardt . Σύμφωνα με την τεκμηρίωση MathWorks , η σύνταξη είναι :
x = lsqnonlin ( διασκέδαση , x0 )

Η λειτουργία ξεκινά στο σημείο " x0 " και βρίσκει ένα ελάχιστο του αθροίσματος των τετραγώνων των λειτουργιών που περιγράφονται σε «διασκέδαση ». για να χρησιμοποιήσετε αυτή τη λειτουργία ειδικά για τον αλγόριθμο Levenberg - Marquardt , χρησιμοποιήστε το " ScaleProblem " επιλογή στον ορισμό της συνάρτησης .
εικόνων 3

κωδικός Γράψτε να χρησιμοποιήσετε τη λειτουργία fsolve σε " ? MatLab " για την επίλυση συστημάτων γραμμικών εξισώσεων με τη χρήση του αλγόριθμου Levenberg - Marquardt . Σύμφωνα με την τεκμηρίωση MathWorks , η σύνταξη είναι :

x = fsolve ( διασκέδαση , x0 )
x = fsolve ( διασκέδαση , x0 , επιλογές )

Η συνάρτηση βρίσκει μια ρίζα ( μηδέν) ενός συστήματος γραμμικών εξισώσεων , ξεκινώντας από ένα σημείο x0 , και επαναληπτικά προσπαθεί να λύσει τα προβλήματα στη λειτουργία " διασκέδαση ". για να χρησιμοποιήσετε αυτή τη λειτουργία ειδικά για τον αλγόριθμο Levenberg - Marquardt , χρησιμοποιήστε την επιλογή ScaleProblem στον ορισμό της συνάρτησης
Η 4 .

Εκκίνηση C + +, το πρόγραμμα σας και να το χρησιμοποιήσετε για να γράψουν κώδικα για να χρησιμοποιήσετε τις λειτουργίες Levmar για την επίλυση γραμμικών και μη γραμμικών προβλημάτων χρησιμοποιώντας τον αλγόριθμο Levenberg - Marquardt . Οι λειτουργίες Llevmar είναι ελεύθερα διαθέσιμο υπό την GNU General Public License και έχουν αναπτυχθεί για να είναι συμβατή με " MatLab " και πολλές γνωστές γλώσσες προγραμματισμού . Οι λειτουργίες Levmar γραμμένο σε C + + και να εκθέσει τις λειτουργίες και τον κωδικό για με και χωρίς περιορισμούς βελτιστοποίησης. Μπορείτε να τροποποιήσετε τον κώδικα για να ταιριάζει στις ανάγκες σας και να την προσαρμόσετε για να ταιριάζει στην εφαρμογή σας του αλγορίθμου Levenberg - Marquardt .
Η
εικόνων


https://el.htfbw.com © Χόμπι και ενδιαφέροντα