MATLAB в инженерных и научных расчетах


«Подгонка» кривой


при условии   xL £ x £ xU

lsqcurvefit

 

 

 

Принятые обозначения:

а — скалярный аргумент; х, у — в общем случае векторные аргу­менты;

f(а), f(х) — скалярные функции; F(x), c(x), ceq(x), K(x, w) — век­торные функции;

А, Aeq, С, Н — матрицы; 

• b, beq, d, f, w, goal, xdata, ydata — векторы;

xL , xU — соответственно, нижняя и верхняя границы области изменения аргумента.

 

Применяемые алгоритмы

В рамках пакета Optimization Toolbox все задачи оптимизации де­лятся на две группы: задачи малой и средней размерности и задачи большой размерности. Соответственно, такое же деление принято для алгоритмов решения данных задач. Разумеется, это не означает, что для решения задач средней размерности нельзя применять ал­горитмы большой размерности и наоборот. Просто алгоритмы той или иной группы более эффективны для задач своей размерности.

В пакете Optimization Toolbox реализован широкий набор алгорит­мов для решения задач оптимизации средней и малой размерности. Основными для задач без ограничений являются симплексный ме­тод Нелдера—Мида и квазиньютоновские методы. Для решения задач с ограничениями, минимакса, достижения цели и полубесконечной оптимизации использованы алгоритмы квадра­тичного программирования.

Задачи, сводящиеся к нелинейным МНК, решаются с помощью ал­горитмов Ньютона—Рафсона и Левенберга—Марквардта.

Вспомогательные процедуры одномерной (скалярной) оптимизации используют алгоритмы квадратичной (параболической) и кубической интерполяции.

Рассмотрим наиболее часто применяемые в задачах оптимизации функции  линейного (linprog) и нелинейного (fmincon) программирования.

 

1. Функция fmincon

furincon — функция поиска минимума скалярной функции многих пе­ременных при наличии ограничений вида 

с(х) £ 0, ceq(x) = 0 ,

А х £ b,  Aeq x = beq,

lb < х < ub

 - задача нелинейного программирования.

Функция записывается  в виде

х = fmincon( fun, x0, A, b)




Начало  Назад  Вперед