Как искать в истории команд MATLAB? - PullRequest
21 голосов
/ 20 февраля 2011

Я хотел бы найти определенную команду, которую я ранее использовал.Можно ли выполнить свободный текстовый поиск по истории команд MATLAB?

Ответы [ 2 ]

25 голосов
/ 20 февраля 2011

Да. Matlab хранит историю ваших команд в файле с именем history.m в «папке настроек», каталоге, содержащем файлы настроек, истории и макетов. Вы можете найти папку настроек, используя команду prefdir:

>> prefdir

ans =

/home/tobin/.matlab/R2010a

Затем найдите файл history.m в этом каталоге, используя механизм по вашему выбору. Например, используя grep в unix:

>> chdir(prefdir)
>> !grep plot history.m
plot(f, abs(tf))
doc biplot
!grep plot history.m

Вы также можете просто использовать функцию поиска в окне истории команд , если вы просто хотите использовать графический интерфейс.

7 голосов
/ 20 февраля 2011

Если вы хотите сделать это программным и независимым от платформы способом, вы можете сначала использовать внутреннюю часть Java MATLAB , чтобы получить историю команд в виде массива символов:

history = com.mathworks.mlservices.MLCommandHistoryServices.getSessionHistory;
historyText = char(history);

Затем вы можете искать в массиве символов, как вам нравится, используя такие функции, как STRFIND или REGEXP . Вы также можете превратить массив символов в массив строк (по одной строке на ячейку) с помощью функции CELLSTR , поскольку с ними иногда проще работать.

...