MATLAB提供mfilename
功能。它返回调用函数的文件的名称,但不幸的是,它返回的文件名没有extension。
例如,如果我们有一个名为myfile.m
的文件,我们在文件中调用mfilename
,它将返回字符串'myfile'
但不返回'myfile.m'
我还查看了fileparts
函数,但它没有用,因为它只解析你提供的字符串。
我正在开发一段代码,根据文件扩展名有不同的行为。例如,它需要知道run time处文件的扩展名是.m
还是.p
。
您可以查看与MATLAB here相关联的扩展名列表。
我该怎么做?
答案 0 :(得分:9)
Looking at the docs,您似乎可以从dbstack
命令获取所需信息,但需要进行一些小的额外处理。
[ST, I] = dbstack('-completenames', 1)
ST =
file: 'C:\myProject\myfile.m'
name: 'myfile'
line: 2