Я долгое время искал ответ на этот вопрос в документации MATLAB...
Например, внизу
http://www.mathworks.com/help/matlab/matlab_env/changing-the-startup-folder.html
говорится
Используйте файл startup.m, чтобы указать папку автозагрузки...
... что явно абсурдно, так как в другом месте документация говорит, что startup.m
можно найти в так называемой "папке автозагрузки". Поэтому нет никакого способа для этого файла указать, где должна находиться эта папка.
Etc. и т.д. и т.д. Этот вид циркулярности пронизывает все, что я нашел в документах на startup.m
.
Я хочу знать, могу ли я или не могу настроить местоположение "загрузочной папки" таким образом, чтобы он был постоянным, и если да, то где хранится эта постоянная информация?
Лучший способ, я нахожу, это. Скажем, вы хотите, чтобы MATLAB запускался в mystartupdir
, и вы разместили startup.m
в этом каталоге.
В Windows сделайте значок быстрого доступа к MATLAB, затем щелкните его правой кнопкой мыши и выберите Properties
. Отредактируйте поле Start In
. Теперь используйте этот значок, когда вы хотите запустить MATLAB.
На других платформах вы можете запустить MATLAB с флагом -sd
, чтобы указать каталог запуска:
matlab -sd mystartupdir
Если вы не укажете каталог запуска, MATLAB будет использовать значение по умолчанию, указанное командой userpath
. Вы можете разместить там startup.m
файл.
-sd mystartupdir
кажется, доступен только в системах Windows. Я не смог найти эквивалент для него на Mac или Linux.
-useStartupFolderPref
, этот подход не будет работать.
Согласно этой странице в документах, вы должны создать свой собственный startup.m
в "каталоге запуска", который, если вы будете следовать link, приводит к этой странице, объясняя определение "каталога автозагрузки" в этом контексте.
Вы можете получить этот "каталог запуска" с помощью функции userpath
, которая возвращает в моей системе:
>> userpath
ans =
C:\Users\MYUSERNAME\Documents\MATLAB;
Лично я просто устанавливаю "Start In" в ярлыке на все, что захочу, но, очевидно, это не сработает, если вы не в Windows; если вы не используете Windows или предпочитаете не использовать ярлык, вы должны создать startup.m
с вызовом cd
в любом каталоге userpath
.
В документах также говорится, что вы можете изменить функцию userpath
, если хотите, или файл matlabrc.m
в matlabroot/toolbox/local
(но вы можете использовать только последнее, если вы инженер MathWorks или системный администратор, иначе MathWorks будет сидеть на вас сверху, или что-то...).
cd userpath
затем edit startup.m
и подтвердите, что вы хотите его создать.
userpath
» : извините за этот запоздалый запрос, но после повторного рассмотрения этого ответа я не могу найти, где в документах говорится, что можно изменить функцию userpath
. Не могли бы вы уточнить?
В Mac OS X вы можете поместить свой файл startup.m
в /matlabrootfolder/toolbox/local/
. Например, для Matlab 2012 этот путь может выглядеть следующим образом: /Applications/MATLAB_R2012a.app/toolbox/local/
.
Чтобы предотвратить удаление файла после обновления Matlab, вы можете использовать символическую ссылку на файл. Если ваш загрузочный файл хранится в $HOME/myDir/startup.m
, например (в Bash):
cd /Applications/MATLAB_R2012a.app/toolbox/local/
ln -s ~/myDir/startup.m .
Ссылка: http://www.mathworks.com/help/matlab/matlab_env/startup-options.html
Как прочитано в http://fr.mathworks.com/help/matlab/matlab_env/matlab-startup-folder.html#buj_13n:
Изменение папки автозагрузки
Начиная с R2014b, вы можете изменить папку автозагрузки, используя Панель "Общие настройки". На вкладке Главная в среде выберите "Настройки". Выберите MATLAB > Общие. Выберите опцию для начальной рабочей папки.
По умолчанию для начальной рабочей папки установлено значение Местоположение, основанное на Правила запуска MATLAB.
Я бы хотел, чтобы он не включал графический интерфейс. Если внимательно посмотреть в файле matlab.setting
, который под Linux должен лежать в ~/.matlab/<your_release>/
, вы можете найти строки
<key name="UserPath">
<string>
<value><![CDATA[<some_directory>]]></value>
</string>
</key>
где вы можете указать вручную каталог автозагрузки.
Это подразумевается как указатель для пользователей Lx (так же, как я был сначала...). Я работаю над блоками на основе Debian, но то же самое относится к линейке систем CentOS и т.д.
~/.matlab/<yr_release(s)>
matlab
действительно разрешает это.~/.matlab/startup.m
Workspace
. Это полностью необязательноSet Path
, щелкните по нему и добавьте "путь поиска Matlab" с помощью кнопки Добавить папку вверху слева. Добавьте ~/.matlab
в качестве нового пути поиска. Изменения должны вступить в силу немедленно.~/.matlab/startup.m
правильно учтен во время запуска.Я ненавижу графические интерфейсы... Я думал, что вы захотите узнать;-) HTH.
addpath
за которой savepath
команда savepath
дает тот же эффект, что и третий пункт, без необходимости вводить графический менеджер путей :)
startup.m
должен быть в PATH вашего Matlab.
Для меня (я использую Linux) он работал, чтобы поместить "startup.m" в домашний каталог. По-видимому, домашний каталог по умолчанию находится по пути matlab. Как ни странно, он также работал, когда я ставил "startup.m" во вновь созданную папку "matlab" (должен быть все в нижнем регистре) в домашнем каталоге. Сообщите мне, работает ли она и в вашей системе.
userpath
и оттуда вы можете перенаправить куда-то еще (или использовать опции ярлыков, если Win OS).which startup.m
(работает, между прочим, для каждой функции / файла в пути). Если вы пытаетесь что-то изменить, это быстрая проверка, чтобы увидеть, были ли ваши изменения такими, как задумано.