Fileparts error
14 次查看(过去 30 天)
显示 更早的评论
If I run on Matlab 2011b, there is an error like that Error using fileparts Too many output arguments.
Is there alternative way to solve the problem?
2 个评论
Walter Roberson
2012-1-3
Could you post an example?
Could you post the traceback? I'm thinking there is a chance that one of your own functions might be overriding something that fileparts uses.
采纳的回答
Image Analyst
2012-1-3
Are you using some code from a prior version where it could take 4 output arguments? Take note of this note:
Note The fourth output argument of fileparts (file version) is no longer supported and has been removed. Calling the function with more than three output arguments generates a warning and will error in a future version.
1 个评论
Friedrich
2012-1-4
Yepp. This is a typo in 11b. In 11b the warning was removed and became an error. So remove the 4th output of fileparts to get it working.
更多回答(1 个)
Iain Robinson
2012-7-18
Jaejin, the error is caused because the syntax for the fileparts function has changed between versions of MATLAB.
In MATLAB 2009b (and earlier versions?), the old syntax was:
[pathstr, name, ext, versn] = fileparts(filename)
From MATLAB 2011a onwards the new syntax is:
[pathstr, name, ext] = fileparts(filename)
Using the old syntax in MATLAB 2011a or MATLAB 2011b will generate a warning.
Using the old syntax in MATLAB 2012a will generate an error.
I haven't tested this, but I think if you use the new syntax in any version from MATLAB 2009b onwards it will still work. This is because MATLAB will ignore function outputs that aren't assigned to a variable. By the way, be careful if you are using ~ notation (the tilde) to ignore output arguments. This feature was introduced in MATLAB 2009b, so will break compatibility with earlier versions.
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Low-Level File I/O 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!