所以当我运行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
。
此功能的重点是什么?
答案 0 :(得分:3)
dir
命令显示Matlab当前目录的目录内容,不脚本所在的目录内容。因此,当您调用该脚本时,脚本向您显示了Matlab命令提示符中的任何位置的目录内容。
要获得所需内容,请在脚本中使用:
dir(fileparts(mfilename('fullpath')))
答案 1 :(得分:0)
使用pwd
查看当前目录
使用cd
更改目录
使用path
查看您的项目文件夹是否包含在路径
使用which
查看您正在调用正确的* .m文件(如果路径上有多个同名的.m文件)