0

所以我在运行 Matlab 脚本时遇到了这个问题。这是一个简单的例子来说明它:

因此,概述文件结构很重要:

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

现在说我有一个这样的脚本:

-> 脚本.m

dir

它只会打印出文件夹中的文件。

现在奇怪的是,如果我像这样在子文件夹中运行脚本:

>>script

它会这样做:

>> a1.csv    a2.csv    a3.csv

但如果我在文件夹中这样做:

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

它只会打印出来

>> script.m

所以很明显它表现得好像我运行它形式MainFolder而不是SubFolder

这个功能有什么意义?

4

2 回答 2

3

dir命令显示的是 Matlab 当前目录的目录内容,而不是脚本所在的目录内容。因此,当您调用该脚本时,该脚本会向您显示您在 Matlab 命令提示符中碰巧所在位置的目录内容。

要得到你想要的,在脚本中使用它:

dir(fileparts(mfilename('fullpath')))
于 2013-04-11T04:41:06.153 回答
0

用于pwd查看当前目录

用于cd更改目录

用于path查看您的项目文件夹是否包含在路径中

用于which查看您正在调用正确的 *.m 文件(以防路径上有多个同名的 .m 文件)

于 2013-04-12T08:58:16.357 回答