Пошук екстремуму функції однієї змінної
При вирішенні завдань максимуму і мінімуму функції y = f (x) однієї змінної виділяють завдання локального (на будь-якому інтервалі) і глобального (на всій числовій осі) екстремуму. В MATLAB пошук локального мінімуму здійснює функція:
[Х, у] = fminbnd (name, a, b [, options])
- name - ім'я М-функції, що обчислює значення f (x);
- а, b - межі інтервалу, на якому здійснюється пошук мінімуму;
- options - параметри, що управляють ходом рішення;
- х, у - координати точки, в якій досягається мінімум функції на заданому інтервалі.
Функцію fminbnd можна використовувати і для обчислення локального максимуму. Для цього достатньо взяти функцію name з протилежним знаком.
В М-файлі з ім'ям mf. m пишемо:
Потім в командному вікні пишемо:
% Максимум функції на інтервалі [-2 2]
Пошук екстремуму функції кількох змінних.
Обчислення екстремуму функції багатьох змінних z = f (x 1. x 2, ..., xn) здійснює команда:
[X, z] = fminsearch (name, x0 [, options]
- name - ім'я М-функції, що обчислює значення z = f (x 1. x 2, ..., xn). залежної від n змінних;
- x 0 - вектор з n елементів, що містить координати точки початкового наближення;
- options - параметри, що управляють ходом рішення;
- x - з n елементів, що містить координати точки, в якій досягається мінімум функції;
- z - значення функції в точці з координатами x.
Знайти мінімум функції
[Z, f] = fminsearch (@ (x) sqrt (x (1) ^ 2 + x (2) ^ 2), [2,2])
[X y] = meshgrid (-2: 0.2: 2, -2: 0.2: 2);