Как получить доступ и изменить значения переменных в рабочей области Matlab? - PullRequest
1 голос
/ 21 января 2020

В моей рабочей области matlab есть несколько переменных, скажем, a и b. например: а = 1: 5; b = 1: 10;

Я использовал who, чтобы получить их имена.

как listVariables = who;

сейчас listVariables имеет имена переменных a и b, но я не знаю, как получить доступ к их значениям, чтобы я мог выполнять некоторые математические операции над им.

1 Ответ

1 голос
/ 21 января 2020

Похоже, evalin - это то, что вы ищете:

a_val = evalin('base', listVariables{1});
b_val = evalin('base', listVariables{2});

Преимущество evalin в том, что его можно выполнить из функции (вне объем рабочей области).

Пример:

В рабочей области:

a = 1:5; b = 1:10;

Содержимое my_fun.m:

function my_fun()

listVariables = evalin('base', 'who');

a_val = evalin('base', listVariables{1});
b_val = evalin('base', listVariables{2});

display(a_val);
display(b_val);

Результат выполнения my_fun():

a_val =

     1     2     3     4     5


b_val =

     1     2     3     4     5     6     7     8     9    10

Примечание: в некоторых случаях evalin полезен, но это не очень хорошая практика кодирования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...