Внутри функции я хочу сделать assignin(ws, 'var', val)
, но на данный момент я не знаю рабочего пространства ws, которое в настоящее время отображается в окне рабочей области внутри окна Matlab. Я ищу заявление, которое заменяет мой ws
в заявлении выше.MATLAB - получить текущее рабочее пространство
Возможно, это простой и часто задаваемый вопрос, но я не нашел ответа.
С [документация] (http://www.mathworks.com/help/matlab/ref/assignin.html): 'WS может иметь значение«базы»или«вызывающей»для обозначения Базовое рабочее пространство MATLAB® или рабочее пространство вызывающей функции. ' – excaza
Почему вы хотите это сделать? – Dan
@Dan, @ user2271770 для тех, кто спрашивает, почему это может понадобиться: имена переменных переменных могут быть одной из причин. 'varName = 'myVar'; ...; eval (VarName) = 1' не присваивает 'myVar' ничего. Напротив, 'assignin ('here', varName, 1)' будет решением. Что касается 'eval ([VarName '= 1']), я никогда не хотел бы включать много потенциально неизвестных вещей в eval (инъекционные атаки). – bers