Υπολογισμός ελάχιστου συνάρτησης με τυχαία αναζήτση στο Octave/matlab
Έστω η συνάρτηση
$$ f(x_1, x_2) = x_1^2 + x_2^2 $$
Η οποία έχει ελάχιστο $$ f(x_1,x_2)=0 $$
στο σημείο $$x_1 = x_2 = 0$$
Το παρακάτω πρόγραμμα δείχνει πως μπορούμε να υπολογίσουμε το ελάχιστο μιας συνάρτησης χρησιμοποιώντας την μέθοδο της τυχαίας αναζήτησης, χωρίς καμία γνώση των παραγώγων της συνάρτησης.
#define [xmin xmax] xmin = -1; xmax = 1; # function definition function y = f(x) y = x(:,1).**2 + x(:,2).**2; endfunction # create x, y N = 10000; x = [ unifrnd(xmin, xmax, N, 2) ]; y = f(x); # find what x corresponds to y minimum [val pos] = min(y) x(pos,:) val
Συνδεθείτε για περισσότερες δυνατότητες αλληλεπίδρασης,
σχολιασμοί, εξωτερικοί σύνδεσμοι, βοήθεια, ψηφοφορίες, αρχεία, κτλ.
σχολιασμοί, εξωτερικοί σύνδεσμοι, βοήθεια, ψηφοφορίες, αρχεία, κτλ.
Εκπαιδευτικό υλικό από τον
Αθανάσιο Σταυρακούδη
σας παρέχετε κάτω από την άδεια
Creative Commons Attribution-NonCommercial-ShareAlike 4.0 License.
Σας παρακαλώ να ενημερωθείτε για κάποιους επιπλέον περιορισμούς
http://stavrakoudis.econ.uoi.gr/stavrakoudis/?iid=401.