ВУЗ:
Составители:
tions,P1,P2)
1 Безусловная минимизация функций. Минимизация функции одной переменной производится
с помощью команды fminbnd. Данная команда определяет локальный минимум в точке, близкой к точке
приближения. Использование этой команды аналогично использованию команды fzero.
П р и м е р: Найти локальный минимум уравнения
0)cos(sin
2
=− xxx
на отрезке [–5, 0]. Исследуемая
функция сохраняется в файл-функции 'myf', график исследуемой функции представлен на рис. 6.5.
>> x = fminbnd('myf', -5, 0)
x =
-3.6052
Рис. 6.5 Иллюстрация к примеру
Если необходимо найти безусловный минимум функции нескольких переменных, то используется
команда fminsearch. перед применением fminsearch необходимо создать файл-функцию, вычисляющую
значения искомой функции, причем аргументом данной функции должен быть вектор, элементы кото-
рого являются аргументами минимизируемой функции.
П р и м е р. Определить локальный минимум функции
yxyxf
π
π
=
sinsin),( .
Сначала исследуем поведение данной функции для определения хорошего начального приближе-
ния. Для этого построим линии равного уровня исследуемой функции (рис. 6.6).
Файл-функция для оптимизации:
function f = ftest(arg)
x = arg(1);
y = arg(2);
f = sin(pi*x).*sin(pi*y);
Зная начальное приближение (определяется из графика на рис. 6.6), можно вызвать функцию fmin-
search (указывая вектор начального приближения).
>> M = fminsearch('ftest', [1.4, 0.6])
M =
1.5000 0.5000
Страницы
- « первая
- ‹ предыдущая
- …
- 38
- 39
- 40
- 41
- 42
- …
- следующая ›
- последняя »