我正在使用 MatLab 中的以下代码从文件夹中读取图像
[folder1] = uigetdir();
f=dir(folder1);
for k=1:size(f,1)-2
new_file=f(k+2).name;
end
[idx,idx]=sort(cellfun(@(x) str2num(char(regexp(x,'\d*','match'))),new_file));
filename1=new_file(idx);
此代码适用于名称为“test_base1”、“test_base2”、...的文件夹中的图像。
我正面临这个表达式的不同输入的错误。
For file = {'test_30min1','test_30min10','test_30min2'};
它给出如下错误
??? Error using ==> cellfun
Non-scalar in Uniform output, at index 1, output 1.
Set 'UniformOutput' to false.
regexp(x,'\w*','match')
我在这个表达式中尝试了给予和许多其他组合。我无法得到解决方案。我可以知道这是什么解决方案吗?