为什么Matlab只接受脚本文件名中的一小组字符?

时间:2014-10-10 20:01:45

标签: matlab special-characters filenames

Matlab要求脚本文件仅限于63个字符

>> namelengthmax
ans =
    63

这63个字符必须是没有-和其他人的小字符。

为什么Matlab会限制文件名,是否有解决方法?

1 个答案:

答案 0 :(得分:3)

beaker 的评论回答了部分问题。因为它们也可以是功能名称,所以它们可以包含它们的特性。

例如,如果你有一个名为foot-ball.m的文件(函数),当你在一条指令中调用它时,Matlab无法区分:

a = foot-ball ;

你的意思是调用名为foot-ball.m的函数的结果(实际上是不可能的)

a = foot-ball ;

为变量“a”分配函数foot.m的结果减去函数ball.m的结果

至于最大长度,据我所知还没有解决方法(直到Matlab取消限制)。

请记住,您的操作系统也对文件长度(和完整路径)有限制。在Windows上它是256 + 4个字符。所以我想将文件名长度限制为63只是为了允许193个字符的完整路径。这可以很快达到,比我们想象的要快。

如果您的文件名长度为255个字符,那么除了将其直接放入c:\或操作系统无法访问它之外别无选择(因此Matlab显然无法调用它)

使用说明len = namelengthmax获取系统的实际最大长度。您可以在specify file names中了解有关它的更多信息。

或者也从其他用户那里读到类似的问题:Extending the maximum length of MATLAB function names。请注意,此用户无法绕过长度限制,他必须找到另一种方法将所需的所有信息都放入最大文件名中。