Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Проведение расчетов в среде пакета Scilab. Практикум
.pdf
Рисунок 2.5-1 - График функции f(x)
Из графика следует, что на отрезке [-4;-2] имеется локальный
минимум. Исследуем функцию и поведение производных.
Получение значений функции и производных на выбранном отрезке
приведено на рис. 2.5-2.
Рисунок 2.5-2 - Исследование функции f(x) на отрезке [-4;-2]
Для нахождения координат точки минимума используем функцию
optim() (рис. 2.5-3). В нашем случае при обращении к функции optim()
передается имя вспомогательной функции (fi) и начальное значение
аргумента (y0).
31

Рисунок 2.5-3 - Нахождение координат точки минимума функции f(x)
2.6. Решение задач многомерной оптимизации
средствами Scilab
Вычисление минимума функции нескольких переменных
z = f(x1, x2, …xn)
в Scilab осуществляет той же функцией optim(), что и для функции от одной
переменной, но в назначении параметров имеются некоторые отличия.
Общий формат функции optim() следующий:
где входными параметрами в случае решения задачи многомерной
оптимизации являются:
x0 - вектор-столбец начальных приближений длиной n (n – количество
параметров оптимизации);
costf – имя функции, для которой ищется минимум.
Функция возвращает значения параметров:
f - минимальное значение функции и xopt - значения параметров
оптимизации, при которых функция достигает минимального значения.
Функция optim() требует вспомогательную функцию costf(), имеющую
следующую структуру:
function [f,g,ind]=costf(x,ind)
f=gg(x);
g=numderivative(gg,x);
endfunction,
где f - функция, минимум которой ищется;
g - градиент функции f (вектор частных производных f по x),
определяемый функцией numderivative().
Назначение параметра ind подробно описано в разделе 2.5.
[f,xopt]=optim(costf,x0),
32

Рассмотрим работу функции optim() на примере определения
минимума двумерной функции f(x1, x2) = 100(x2–x
2)2
+(1-x1)2.
1
Построим график (рис. 2.6-1) с использованием функции surf(),
аргументами которой служат: вектор значений первой переменной, вектор
значений второй переменной и матрица значений функции, из которого
следует, что функция имеет минимум.
Рисунок 2.6-1- Результат выполнения функции surf()
Определим координаты точки минимума и значение функции в этой
точке с использованием функции Scilab optim() (рис. 2.6-2).
Рисунок 2.6-2 - Использование функции optim() для нахождения
координат точки минимума многомерной функции
33

Список литературы
1. Семенова Т.И., Юскова И.Б., Юсков И.О. Основы работы в
математическом пакете Scilab: практикум / МТУСИ. – М., 2018. – 30 с.
2. Андриевский А.Б., Андриевский Б.Р., Капитонов А.А., Фрадков А.Л.
Решение инженерных задач в среде Scilab: учебное пособие. - СПб.:
НИУ ИТМО, 2013. – 97 с.
Подписано в печать 23.05.2018г. Формат 60х90 1/16.
Объём 2,1 усл.п.л. Тираж 350 экз. Изд. № 62.
34

Проведение расчетов
в среде пакета Scilab
Практикум
для студентов-заочников 2 курса (направления 11.03.02,
09.03.02)
Подписано в печать 10.12.2018г. Формат 60х90 1/16.
Объём 1,5 усл.п.л. Изд. № 122. Тираж 100 экз.
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
