2012-01-24 31 views
5

Tengo un archivo matlab que toma un archivo. Me gustaría ejecutar ese programa en el shell de matlab, como prog. Necesito implementarlo para que tome una serie de argumentos, como "prog filename.txt 1 2 que significa que puedo usar filename.txt y 1 2 como variables en mi programa.Ejecutando un programa matlab con argumentos

¡Gracias!

+1

¿Qué has probado? ¿Qué tienes hasta ahora? Edita tu pregunta con las respuestas. –

+0

posible duplicado de [¿Cómo puedo pasar los argumentos de línea de comando a un ejecutable MATLAB independiente que se ejecuta en Linux/Unix?] (Http://stackoverflow.com/questions/3335505/how-can-i-pass-command-line-arguments -to-a-standalone-matlab-executable-running) – gnovice

Respuesta

12

con el fin de hacer un script aceptar los argumentos de la línea de comandos, primero debe convertirlo en una función que hará que los argumentos que desea, es decir, si su script se llama prog.m, puesto que la primera línea de

function []=prog(arg1, arg2) 

y agregue un end al final (suponiendo que el archivo tiene una sola función). Es muy importante que llame a la función del mismo nombre que el archivo.

Lo siguiente es que debe asegurarse de que el archivo de script se encuentra en el mismo lugar desde el que llama al script, o está ubicado en la ruta de trabajo de Matlab; de lo contrario, no podrá reconocer su guión.

Finalmente, para ejecutar la secuencia de comandos utiliza

matlab -r "prog arg1 arg2" 

que es equivalente a llamar

prog(arg1,arg2) 

desde el interior de Matlab.

* - probado en entornos Windows y Linux

+0

Me pregunto si podemos escribir un script (por ejemplo, guardado como 'script.m') que se comporte como' load' por ejemplo, para que lo llamemos en la consola MATLAB con 'script arg'. – ziyuang

Cuestiones relacionadas