2012-01-24 13 views
5

Mam plik Matlaba, który pobiera plik. Chciałbym uruchomić ten program w powłoce matlab, na przykład prog. Muszę zaimplementować go tak, aby przyjmował szereg argumentów, takich jak "prog filename.txt 1 2", co oznaczałoby, że mogę użyć pliku filename.txt i 1 2 jako zmiennych w moim programie.Uruchamianie programu Matlab z argumentami

Dziękujemy!

+1

Co próbowaliście? Co masz do tej pory? Edytuj swoje pytanie za pomocą odpowiedzi. –

+0

możliwy duplikat [Jak mogę przekazać argumenty wiersza poleceń do samodzielnego pliku wykonywalnego MATLAB działającego na Linux/Unix?] (Http://stackoverflow.com/questions/3335505/how-can-i-pass-command-line-arguments -to-a-standalone-matlab-executable-running) – gnovice

Odpowiedz

12

aby skrypt przyjąć argumenty z linii poleceń, należy najpierw przekształcić go w funkcji, która dostanie argumentów chcesz, to znaczy, jeśli skrypt o nazwie prog.m, umieścić jako pierwsza linia

function []=prog(arg1, arg2) 

i dodaj na końcu end (zakładając, że plik ma tylko jedną funkcję). Jest to very ważne, aby wywołać funkcję o tej samej nazwie co plik.

Następną sprawą jest upewnienie się, że plik skryptu znajduje się w tym samym miejscu, z którego wywołuje skrypt, lub znajduje się na ścieżce roboczej programu Matlab, w przeciwnym razie nie będzie w stanie rozpoznać scenariusz.

Wreszcie, aby wykonać skrypt użyć

matlab -r "prog arg1 arg2" 

co jest równoznaczne z wywołaniem

prog(arg1,arg2) 

od wewnątrz Matlab.

* - testowany w środowiskach Windows i Linux

+0

Zastanawiam się, czy możemy napisać skrypt (powiedzmy, zapisany jako 'script.m') zachowujący się jak' load' na przykład, tak że wywołujemy go w konsoli MATLAB z 'script arg'. – ziyuang

Powiązane problemy