Matlab 在没有循环的情况下实现fileparts函数时,get Index超过矩阵维度错误

Matlab 在没有循环的情况下实现fileparts函数时,get Index超过矩阵维度错误,matlab,matrix,Matlab,Matrix,对不起,如果标题有点不清楚。我有一个代码,可以读取大量fas文件,然后使用 for循环和fileparts函数调用以提取相应的部分 [pathstr, name, ext] = fileparts(files(i).name) 当我将fileparts函数调用放在for循环内部时,它会很好地工作,而在没有for循环的情况下,它会给我一个索引维度错误。有人知道为什么吗?如有任何意见,我们将不胜感激 编辑:在循环之外,代码如下 [pathstr,name,ext]=fileparts(files

对不起,如果标题有点不清楚。我有一个代码,可以读取大量fas文件,然后使用 for循环和fileparts函数调用以提取相应的部分

[pathstr, name, ext] = fileparts(files(i).name) 
当我将fileparts函数调用放在for循环内部时,它会很好地工作,而在没有for循环的情况下,它会给我一个索引维度错误。有人知道为什么吗?如有任何意见,我们将不胜感激

编辑:在循环之外,代码如下
[pathstr,name,ext]=fileparts(files(1).name)

如何在循环之外使用它?您使用的代码是否与您显示的代码相同?循环外的i是什么?就其本身而言,该代码看起来似乎是合理的。请张贴一个简单的复制,我们可以运行,证明问题。我像这样尝试了你的代码:
files=dir();对于i=1:numel(文件),[pathstr,name,ext]=fileparts(文件(i).name);结束
,它工作正常。您能在问题中添加完整的错误信息吗?