Преобразуйте задачу оптимизации или проблему уравнения к форме решателя
, для любых входных параметров, задает дополнительные опции с помощью одного или нескольких аргументов пары "имя-значение". Например, для нелинейной задачи оптимизации, problem
= prob2struct(___,Name,Value
)problem = prob2struct(prob,'ObjectiveFunctionName','objfun1')
задает тот prob2struct
создает файл с именем целевой функции objfun1.m
в текущей папке.
Если вы вызываете prob2struct
многократно на том же сеансе MATLAB® для нелинейных проблем, используйте ObjectiveFunctionName
или 'EquationFunctionName'
аргументы, и, при необходимости ConstraintFunctionName
аргумент. Определение уникальных имен гарантирует, что получившиеся структуры задачи относятся к правильной цели и ограничительным функциям. В противном случае, последующие вызовы prob2struct
может заставить сгенерированные нелинейные файлы функции перезаписывать существующие файлы.
Чтобы постараться не вызывать бесконечную рекурсию, не вызывайте prob2struct
в цели или ограничительной функции.
При вызове prob2struct
параллельно для нелинейных проблем, гарантируйте, что получившаяся цель и ограничительные файлы функции имеют уникальные имена. Выполнение так избегает каждой передачи цикла, пишущего в тот же файл или файлы.
Основанием для структуры задачи является неявное упорядоченное расположение всех переменных задачи в один вектор. Порядок переменных задачи совпадает с порядком Variables
свойство в prob
. Смотрите OptimizationProblem
. Можно также найти порядок при помощи varindex
.
Например, предположите, что переменные задачи находятся в этом порядке:
x
— 3 2 4 массивами
y
— 3 2 массив
В этом случае неявный переменный порядок эквивалентен, если переменной задачи является vars = [x(:);y(:)]
.
Первые 24 элемента vars
эквивалентны x(:)
, и следующие шесть элементов эквивалентны y(:)
, для в общей сложности 30 элементов. Нижние и верхние границы соответствуют этому переменному упорядоченному расположению, и каждая линейная матрица ограничений имеет 30 столбцов.
Для проблем с общей нелинейной целью или ограничительными функциями, prob2struct
создает файлы функции в текущей папке или в папке, заданной FileLocation
. Возвращенный problem
структура относится к этим файлам функции.