2013-04-11 78 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 /目錄「)'。 – 2013-04-11 06:01:08

0

使用pwd看到當前目錄

使用cd改變目錄

使用path,看看你的項目文件夾都包含在路徑中

使用which看到你是呼喚g右側的* .m文件(如果路徑中存在多個.m文件)

+0

這不是我的問題的答案,但謝謝。 – 2013-04-14 22:47:56