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')
この表現で与えたり、他の多くの組み合わせを試してみました。私は解決策を得ることができません。これの解決策は何ですか?