Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Проведение расчетов в среде пакета Scilab. Практикум

.pdf
Скачиваний:
0
Добавлен:
08.09.2026
Размер:
2 Мб
Скачать
Рисунок 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 экз.
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]