Поддерживаемые операции на переменных и выражениях оптимизации

Обозначение для поддерживаемых операций

Переменные и выражения оптимизации являются базовыми элементами Основанного на проблеме Рабочего процесса Оптимизации. Для легальных операций на переменных и выражениях оптимизации:

  • x и y представляйте массивы оптимизации произвольного размера (обычно тот же размер).

  • x2D представляет 2D массив оптимизации.

  • a скалярная числовая константа.

  • M постоянная числовая матрица.

  • c числовой массив одного размера с x.

Предупреждение

Основанный на проблеме подход не поддерживает комплексные числа в целевой функции, нелинейных равенствах и нелинейных неравенствах. Если при вычислении функции встретится комплексное число, даже как промежуточное значение, конечный результат может оказаться неправильным.

Операции, возвращающие выражения оптимизации

Эти операции на переменных оптимизации или выражения возвращают выражение оптимизации.

КатегорияОперацияПример
АрифметикаДобавьте постоянныйx+c или c+x
Переменная Addx+y
Унарный плюс+x
Вычтите константуx-c
Вычтите переменныеx–y
Унарный минус-x
Умножьтесь постоянным скаляромa*x или a.*x или x*a или x.*a
Разделитесь на постоянный скалярx/a или x./a или a\x или a.\x
Pointwise умножаются массивомc.*x или x.*c
Pointwise делятся на массивx./c или c.\x
Pointwise умножают переменныеx.*y
Умножение матриц переменныеx*y
Умножение матриц переменная и матрицаM*x2D или x2D*M
Скалярное произведение переменной и массиваdot(x,c) или dot(c,x)
Линейная комбинация переменныхsum(x), sum(x,dim), sum(x,'all'), mean(x), и mean(x,dim)
Произведение элементов массиваprod(x), prod(x,dim), и prod(x,'all')
Трассировка матрицыtrace(x2D)
Совокупная сумма или продуктcumsum(x) или cumprod(x), включая синтаксисы cumsum(x,dim), cumsum(_,direction), cumprod(x,dim), и cumprod(_,direction)
Различияdiff(x), включая синтаксисы diff(x,n) и diff(x,n,dim)
Конкатенация и изменяетсяПеремещениеx' или x.'
Конкатенацияcatvertcat, и horzcat
Изменениеreshape(x,[10 1])
Создайте диагональную матрицу или получите диагональные элементы матрицыdiag(x2D), где x2D матрица или вектор, включая синтаксис diag(x2D,k)
Элементарные функцииСтепень квадратной матрицыx2D^a
Степень Pointwisex.^a
Квадратный кореньsqrtX)
СинусsinX)
КосинусcosX)
КасательнаяtanX)
ArcsineasinX)
ArccosineacosX)
АрктангенсatanX)
ЭкспоненциалexpX)
ЛогарифмlogX)
Гиперболический синусsinhX)
Гиперболический косинусcoshX)
Гиперболическая касательнаяtanhX)
Обратный гиперболический синусasinhX)
Обратный гиперболический косинусacoshX)
Гиперболический арктангенсatanhX)

Операции, возвращающие переменные оптимизации

Эти операции на переменных оптимизации возвращают переменную оптимизации.

ОперацияПример
Числовая индексация N-D (включает двоеточие и end)x(3,5:end)
N-D логическая индексацияx(ind), где ind логический массив
Индексация строки N-Dx(str1,str2), где str1 и str2 строки
N-D смешал индексацию (комбинация числовых, логических, двоеточия, конца и строки)x(ind,str1,:)
Линейная числовая индексация (включает двоеточие и end)x(17:end)
Линейная логическая индексацияx(ind)
Линейная индексация строкиx(str1)

Операции по выражениям оптимизации

Выражения оптимизации поддерживают все операции, которые переменные оптимизации поддерживают и возвращают выражения оптимизации. Кроме того, можно индексировать в или присвоить в выражение оптимизации с помощью числового, логический, строка или линейная индексация, включая двоеточие и end операторы для числовой или линейной индексации.

Операции, возвращающие ограничительные выражения

Ограничениями является любые два comparable expressions, которые включают один из этих операторов сравнения: ==, <=, или >=. Сопоставимые выражения имеют тот же размер, или одно из выражений должно быть скаляром, значением размера 1 на 1. Для примеров смотрите Выражения для Ограничений и уравнений.

Некоторая недокументированная работа операций над переменными и выражениями оптимизации

Внутренне, некоторые функции и операции вызывают только зарегистрированные поддерживаемые операции. В этих случаях можно получить разумные результаты функций или операций. Например, в настоящее время squeeze внутренне вызовы reshape, который является зарегистрированной поддерживаемой операцией. Таким образом, если вы squeeze переменная оптимизации затем можно получить разумное выражение.

Неподдерживаемые функции и операции требуют fcn2optimexpr

Если ваша целевая функция или нелинейные ограничительные функции не поддержаны, преобразуют функцию MATLAB® в выражение оптимизации при помощи fcn2optimexpr. Для примеров смотрите, Преобразуют Нелинейную Функцию в Выражение Оптимизации или fcn2optimexpr страница ссылки на функцию.

Смотрите также

|

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте