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


«Подгонка» кривой - часть 2


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

х = fmincon( fun, x0, А, b, Aeq, beq, lb, ub)

х = fmincon( fun, x0, A, b, Aeq, beq, lb, ub, nonlcon)

х = fmincon( fun, x0, A, b, Aeq, beq, lb, ub, nonlcon, options)

х = fmincon( fun, x0, A, b, Aeq, beq, lb, ub, nonlcon, opt1ons, Pl, P2, ...)

[x, fval] = fmincon(...) – возвращается не только оптимальное значение векторного аргумента, но и значение целевой функции в точке минимума  fval

;

[x, fval, exitflag] = fmincon(…) – то же, что и предыдущая функция, но возвращается ещё  информация о характере завершения вычисления  exitflag ;

[x, fval, exitflag, output] = fmincon(…) – то же, что и предыдущая функция, но возвращается ещё  информация о результатах оптимизации (выходная структура)  output

;

[x, fval, exitflag, output, lambda] = fmincon(...) – то же, что и предыдущая функция, но возвращаются ещё множители Лагранжа  lambda

;

[x, fval, exitflag, output, lambda, grad] = fmincon(…) – то же, что и предыдущая функция, но возвращается ещё величина градиента функции в точке минимума  grad ;

[x, fval, exitflag, output, lambda, grad, hessian] = fmincon(…) – то же, что и предыдущая функция, но возвращается ещё величина гессиана  H  функции в точке минимума. 

 

Аргументы функции:

fun — векторная функция векторного аргумента. Должна быть за­дана либо с помощью функции inline, например:

» fun = inline('sin(x.*x)'):

либо как m -файл, например:

function F = myfun(x)

F = …

nonlcon — функция, возвращающая значения функций-ограниче­ний, а при необходимости (если задано options = optimset('Grad-Constr', 'on')) и их градиентов; должна быть оформлена в виде m-файла, например:

function [c, ceq] = mycon(x)

с = ... % Вычисление левых частей нелинейных неравенств

ceq =... %

Вычисление левых частей нелинейных равенств

function [с, ceq, GC, GCeq] = mycon(x)

с = ... % Вычисление левых частей нелинейных неравенств

ceq = ... % Вычисление левых частей нелинейных равенств

GC = ... %

Градиенты неравенств

GCeq = ... %




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