2012-01-24 15 views
5

У меня есть файл matlab, который принимает файл. Я хотел бы запустить эту программу в оболочке matlab, например prog. Мне нужно реализовать его так, чтобы он принимал множество аргументов, таких как «prog filename.txt 1 2», что означало бы, что я могу использовать filename.txt и 1 2 в качестве переменных в своей программе.Запуск программы matlab с аргументами

Спасибо!

+1

Что вы пробовали? Что у вас есть? Измените свой вопрос ответами. –

+0

Возможный дубликат [Как передать аргументы командной строки автономному исполняемому файлу MATLAB на linux/unix?] (Http://stackoverflow.com/questions/3335505/how-can-i-pass-command-line-arguments -to-a-standalone-matlab-executable-running) – gnovice

ответ

12

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

function []=prog(arg1, arg2) 

и добавьте end в конец (при условии, что файл имеет только одну функцию). Это очень важно, чтобы вы вызывали функцию с тем же именем, что и файл.

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

Наконец, чтобы выполнить скрипт, который вы используете

matlab -r "prog arg1 arg2" 

что эквивалентно вызову

prog(arg1,arg2) 

внутри Matlab.

* - протестирован в среде Windows и Linux

+0

Интересно, можем ли мы написать скрипт (скажем, сохраненный как 'script.m'), например, как' load', так что мы вызываем его в консоли MATLAB с 'script arg'. – ziyuang

Смежные вопросы