开发者

Matlab: How can I change the following program

开发者 https://www.devze.com 2022-12-21 23:27 出处:网络
I have 500 files .TXT, for example: abc-1.T开发者_开发知识库XT adfer-2.txt affd-3.TXT asxdcccc-4.TXT

I have 500 files .TXT, for example:

abc-1.T开发者_开发知识库XT  
adfer-2.txt  
affd-3.TXT  
asxdcccc-4.TXT  
... 

How can I change the following program to achieve results in order of numbers in the filenames:

Names = dir('MyFile\*.TXT');  
for i = 1:500  
    fn = strcat(['MyFile\' Names(i).name]);  
    ...  

is there a way to make the loop on the numbers contained in the file names?

the problem with the above program is that I got results that do not follow the order of the numbers contained in the file names.

THANK YOU to everyone who helped me to advance in my work.


names={'abc-1.TXT';
'affd-3.TXT';
'sdfg-33.txt';
'adfer-2.txt';
'asxdcccc-4.TXT'};

for i=1:length(names)
    [v1 v2]=regexp(names{i},'[1-9]*');
    numbers(i)=str2num(names{i}(v1:v2));
end

[B,IX] = sort(numbers);
names{IX}

The last line will print the names in the order of numbers. I guess you can carry on from here.

Oh, and you should start with

Names = dir('*.TXT');
names = Names.name;
0

精彩评论

暂无评论...
验证码 换一张
取 消