Перечисление переменных в рабочей области в Matlab по определенному шаблону и сохранение их в массиве ячеек

#matlab

#matlab

Вопрос:

У меня есть 5 переменных в моей рабочей области с именем:

 testahello
testbhello
testchello
testdhello
testehello
  

Как я могу построить массив ячеек {'testahello'; 'testbhello'; 'testchello'; 'testdhello'; 'testehello'} ?

who test*hello ВОЗВРАТ:

 >> who test*hello

Your variables are:

testahello  testbhello  testchello  testdhello  testehello  
  

Но я не знаю, как создать массив ячеек из этого вывода или существует ли более подходящая функция, чем who .

Ответ №1:

Используйте функцию-форму для вызова WHO:

 >> c = who('test*hello')
c = 
    'testahello'
    'testbhello'
    'testchello'
  

В основном существует два способа вызова функций в MATLAB: синтаксис команды и синтаксис функции. Первый не позволяет фиксировать возвращаемые значения в переменных.