Я хочу запустить Matlab, как любой обычный исполняемый файл, подобный этому
matlab /path/to/some/mat_file.m argument1 argument2
по-видимому, Matlab не играет как обычные исполняемые файлы и просто проигнорирует мой запрос, но вы можете передать ему команды для оценки после запуска, например
matlab -r "disp('hi');"
но это не помогает, я могу использовать команду run для запуска mat_file.m, но я не могу передать дополнительные аргументы для запуска, поэтому аргумент1 и аргумент2 не будут присутствовать.
Я не вижу способа заставить Matlab вести себя таким образом.
ПРИМЕЧАНИЕ: я не буду использовать cd в части -r. Есть причина, по которой я нахожусь в каталоге, в котором я сейчас нахожусь, и не собираюсь выезжать.
Название вопроса не совсем точное. Это больше касается пути к файлу, а не аргументов. Вы можете изменить его, чтобы сделать его более точным
@XiangruiLi, если это была проблема с путём к файлу, тогда -r "run ('/ path / ...');" было бы достаточно. Но, может быть, я не понимаю, что именно вы имеете в виду. Вы можете предложить другое название?
Я бы предложил что-то вроде "Запустить Matlab с файлом m не в пути к Matlab"





Я вижу два возможных решения. Во-первых, вы можете добавить и сохранить путь к вашему каталогу для Matlab, а затем запустить свою функцию, например
matlab -r "my_file(in1, in2)"
Во-вторых, если вам не нравится сохранять путь, вы можете addpath в командной строке, например
matlab -r "addpath('/path/to/some'); my_file(in1, in2)"
@AnderBiguri run ('/ путь / к / some / mat_file.m', 1, 2); Ошибка при использовании запуска. Слишком много входных аргументов.