Присвойте значение переменной в заданной рабочей области
assignin(ws,var,val)
assignin(
присваивает значение ws
,var
,val
)val
переменной var
в рабочей области ws
. Например, assignin('base','x',42)
присваивает значение 42 переменной x
в базовом рабочем пространстве MATLAB®.
Если val
требует оценки, MATLAB оценивает его в функции, которая вызывает assignin
, не в рабочей области, заданной ws
. Если val
является указателем на функцию, это должно быть evaluable в функции, которая вызывает assignin
.
Функция assignin
полезна для этих задач:
Экспортирование данных от функции до базового рабочего пространства.
Из функции, изменяя значение переменной, которая задана в рабочей области функции вызывающей стороны. Например, можно изменить значение переменной в списке аргументов функции вызова.
Функция assignin
не присваивает значения определенным элементам массива. Поэтому var
не может содержать индексы массива. Этот код приводит к ошибке.
X = 1:8; assignin('base','X(3:5)',-1);
Чтобы присвоить значения определенным элементам массива, используйте функцию evalin
.
evalin('base','X(3:5) = -1')