1

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

4

0 に答える 0