Присвойте значение переменной в заданной рабочей области
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')