Пошук екстремумів

Пошук екстремуму функції однієї змінної

При вирішенні завдань максимуму і мінімуму функції 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);

Схожі статті