Где должен находиться startup.m?

27

Я долгое время искал ответ на этот вопрос в документации MATLAB...

Например, внизу

http://www.mathworks.com/help/matlab/matlab_env/changing-the-startup-folder.html

говорится

Используйте файл startup.m, чтобы указать папку автозагрузки...

... что явно абсурдно, так как в другом месте документация говорит, что startup.m можно найти в так называемой "папке автозагрузки". Поэтому нет никакого способа для этого файла указать, где должна находиться эта папка.

Etc. и т.д. и т.д. Этот вид циркулярности пронизывает все, что я нашел в документах на startup.m.

Я хочу знать, могу ли я или не могу настроить местоположение "загрузочной папки" таким образом, чтобы он был постоянным, и если да, то где хранится эта постоянная информация?

  • 4
    Я полностью согласен с округлостью и думаю, что это связано с разнообразием ОС! Вы можете отправить отзыв / запрос на обновление документов (это эффективно), ответив «НЕТ» на «Была ли эта тема полезной?» в правом нижнем углу каждой страницы документа. Также обратите внимание, что в поле «Параметры запуска» в файле запуска MATLAB говорится: «Поместите файл startup.m в папку по умолчанию или в текущую папку запуска, где MATLAB сначала ищет его ...» . В некотором смысле, есть папка запуска по умолчанию, возвращаемая userpath и оттуда вы можете перенаправить куда-то еще (или использовать опции ярлыков, если Win OS).
  • 0
    добавить к @OlegKomarov: вы можете проверить, где находится файл startup.m, вызвав, which startup.m (работает, между прочим, для каждой функции / файла в пути). Если вы пытаетесь что-то изменить, это быстрая проверка, чтобы увидеть, были ли ваши изменения такими, как задумано.
Показать ещё 1 комментарий
Теги:

6 ответов

13
Лучший ответ

Лучший способ, я нахожу, это. Скажем, вы хотите, чтобы MATLAB запускался в mystartupdir, и вы разместили startup.m в этом каталоге.

В Windows сделайте значок быстрого доступа к MATLAB, затем щелкните его правой кнопкой мыши и выберите Properties. Отредактируйте поле Start In. Теперь используйте этот значок, когда вы хотите запустить MATLAB.

На других платформах вы можете запустить MATLAB с флагом -sd, чтобы указать каталог запуска:

matlab -sd mystartupdir

Если вы не укажете каталог запуска, MATLAB будет использовать значение по умолчанию, указанное командой userpath. Вы можете разместить там startup.m файл.

  • 6
    На самом деле, -sd mystartupdir кажется, доступен только в системах Windows. Я не смог найти эквивалент для него на Mac или Linux.
  • 0
    Также, если вы используете опцию -useStartupFolderPref , этот подход не будет работать.
10

Согласно этой странице в документах, вы должны создать свой собственный 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 будет сидеть на вас сверху, или что-то...).

  • 1
    Поэтому, чтобы создать startup.m в «правильном» месте, введите: cd userpath затем edit startup.m и подтвердите, что вы хотите его создать.
  • 0
    «В документах также сказано, что вы можете изменить функцию userpath » : извините за этот запоздалый запрос, но после повторного рассмотрения этого ответа я не могу найти, где в документах говорится, что можно изменить функцию userpath . Не могли бы вы уточнить?
Показать ещё 1 комментарий
6

В 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

1

Как прочитано в 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>

где вы можете указать вручную каталог автозагрузки.

0

Это подразумевается как указатель для пользователей Lx (так же, как я был сначала...). Я работаю над блоками на основе Debian, но то же самое относится к линейке систем CentOS и т.д.

  • Убедитесь, что после установки у вас есть каталог/ы: ~/.matlab/<yr_release(s)>
    Обратите внимание, что у вас может быть несколько релизов, как и в моем случае. matlab действительно разрешает это.
  • Создать ~/.matlab/startup.m
    Кстати, я также создал мой каталог Workspace. Это полностью необязательно
  • В окне Matlab Home tab найдите меню iten/icon Set Path, щелкните по нему и добавьте "путь поиска Matlab" с помощью кнопки Добавить папку вверху слева. Добавьте ~/.matlab в качестве нового пути поиска. Изменения должны вступить в силу немедленно.
  • Перезапустите Matlab, чтобы убедиться, что содержимое ~/.matlab/startup.m правильно учтен во время запуска.

Я ненавижу графические интерфейсы... Я думал, что вы захотите узнать;-) HTH.

  • 1
    Если вы ненавидите GUI, вы можете знать, что команда addpath за которой savepath команда savepath дает тот же эффект, что и третий пункт, без необходимости вводить графический менеджер путей :)
  • 0
    Ключевым моментом здесь является то, что ваш startup.m должен быть в PATH вашего Matlab.
0

Для меня (я использую Linux) он работал, чтобы поместить "startup.m" в домашний каталог. По-видимому, домашний каталог по умолчанию находится по пути matlab. Как ни странно, он также работал, когда я ставил "startup.m" во вновь созданную папку "matlab" (должен быть все в нижнем регистре) в домашнем каталоге. Сообщите мне, работает ли она и в вашей системе.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню