varindex

Сопоставьте переменные задачи с индексом базируемой переменной решателя

Описание

пример

idx = varindex(prob) возвращает линейные индексы переменных задачи как структура или целочисленный вектор. Если вы преобразуете prob к структуре задачи при помощи prob2structidx дает переменные индексы в получившейся структуре задачи, которые соответствуют переменным в prob.

пример

idx = varindex(prob,varname) возвращает линейные индексы элементов varname.

Примеры

свернуть все

Создайте задачу оптимизации.

x = optimvar('x',3);
y = optimvar('y',3,3);
prob = optimproblem('Objective',x'*y*x);

Преобразуйте проблему в структуру.

problem = prob2struct(prob);

Получите линейные индексы в problem из всего prob переменные.

idx = varindex(prob);
disp(idx.x)
     1     2     3
disp(idx.y)
     4     5     6     7     8     9    10    11    12

Получите y индексы только.

idxy = varindex(prob,'y')
idxy = 1×9

     4     5     6     7     8     9    10    11    12

Входные параметры

свернуть все

Задача оптимизации или проблема уравнения в виде OptimizationProblem возразите или EquationProblem объект. Создайте задачу оптимизации при помощи optimproblem; создайте проблему уравнения при помощи eqnproblem.

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

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

Пример: prob = optimproblem; prob.Objective = obj; prob.Constraints.cons1 = cons1;

Пример: prob = eqnproblem; prob.Equations = eqs;

Имя переменной в виде вектора символов или строки.

Пример: 'x'

Типы данных: char | string

Выходные аргументы

свернуть все

Линейные индексы переменных задачи, возвращенных как структура или целочисленный вектор. Если вы преобразуете prob к структуре задачи при помощи prob2structidx дает переменные индексы в получившейся структуре задачи, которые соответствуют переменным в prob.

  • Когда вы вызываете idx = varindex(prob), возвращенный idx структура. Имена полей структуры являются именами переменных в prob. Значение для каждого поля является целочисленным вектором из линейных индексов, с которыми переменные сопоставляют в связанной основанной на решателе переменной задачи.

  • Когда вы вызываете idx = varindex(prob,varname), возвращенный idx вектор из линейных индексов к который переменная varname карты в связанной основанной на решателе переменной задачи.

Смотрите получают проблемные индексы.

Введенный в R2019a