varindex

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

Синтаксис

idx = varindex(prob)
idx = varindex(prob,varname)

Описание

пример

idx = varindex(prob) возвращает линейные индексы проблемных переменных как структура или целочисленный вектор. Если вы преобразовываете prob в структуру задачи при помощи prob2struct, idx дает переменные индексы в получившейся структуре задачи, которые соответствуют переменным в 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. Создайте проблему при помощи optimproblem.

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

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

Пример: 'x'

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

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

свернуть все

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

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

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

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

Введенный в R2019a