2013-04-11 3 views
0

У меня возникла эта проблема, когда я запускал скрипт Matlab. Вот простой пример, который иллюстрирует это:Справочник вызовов функций Matlab

Таким образом, ее важно очертить структуру файла:

MainFolder 
    script.m 
    SubFolder 
     a1.csv 
     a2.csv 
     a3.csv 

теперь говорят, что у меня есть сценарий вроде этого:

-> script.m

dir 

он просто распечатает файлы в папке.

Теперь странные вещи, если я запустить скрипт в вложенную как это:

>>script 

он будет делать это:

>> a1.csv a2.csv a3.csv 

, но если я делаю это в папке:

>>run('C:\Users\....\MainFolder\script.m') 

это будет только распечатать

>> script.m 

Таким образом, очевидно, что он действует, как будто я запустил его форму MainFolder, а не SubFolder.

В чем смысл этой функциональности?

ответ

3

Команда dir показывает содержимое каталога текущего каталога Matlab, не того, где находится скрипт. Таким образом, сценарий показал вам содержимое каталога, где бы вы ни оказались в командной строке Matlab, когда вы вызываете этот скрипт.

Чтобы получить то, что вы хотите использовать это в скрипте:

dir(fileparts(mfilename('fullpath'))) 
+1

Также обратите внимание, что вы можете использовать команду 'cd' для изменения текущего каталога:' cd ('new/working/каталог ') '. –

0

Используйте pwd, чтобы увидеть текущую директорию

Использование cd изменить каталог

Используйте path, чтобы увидеть, если ваши папки проекта включены в маршрут

Используйте which, чтобы увидеть, что вы являетесь callin g - правый файл * .m (в случае, если на пути есть несколько файлов .m с таким же именем)

+0

Это не ответ на мой вопрос, но спасибо. –

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