Matlab: Как узнать имя файла, который вы используете в рабочей области? - PullRequest
1 голос
/ 03 сентября 2011

иногда я загружаю файл .m для работы в рабочей области, но обычно я забываю, какой последний файл я открыл. Таким же образом, как вы пишете who, и вы можете видеть переменные рабочей области, я полагаю, должна быть команда, чтобы узнать, что такое файл .m, в котором вы работаете. Кто-нибудь знает такую ​​команду? Большое вам спасибо.

Ответы [ 3 ]

2 голосов
/ 03 сентября 2011

Для более новых версий MATLAB есть способ получить полный путь к файлу, редактируемому в данный момент в редакторе:

if verLessThan('matlab', '7.10')
    %# not supported
    fname = '';
elseif verLessThan('matlab', '7.12')
    %# R2010a,R2010b: editorservices
    fname = editorservices.getActiveFilename;
else
    %# R2011a: matlab.desktop.editor API
    fname = matlab.desktop.editor.getActiveFilename;
end
1 голос
/ 06 сентября 2011

Я делаю что-то похожее на прогоны начальной загрузки:

%%
params.run = 'hairy.m';
params.hair = 10;

setup_defaults(params);

run_lots_of_code(params);

Это имеет преимущества, так как скрывает «глобалы» в одном глобале (params), и глобал сообщает вам, откуда они пришли.

1 голос
/ 03 сентября 2011

mfilename казалось правильным выбором, но при вызове из командной строки возвращает пустую строку. Поэтому вы можете проверить «историю команд», предоставленную IDE.

Для более крупных проектов чаще всего имеет смысл использовать объектную модель MATLAB или хотя бы функции для структурирования вашей работы. Работа в «рабочем пространстве» часто приводит к нежелательным побочным эффектам.

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