我试图按名称排列一个文件列表,但当我使用Octave排序函数时,返回的数组值发生了变化,见下面的代码。
files = dir('*.ASC');
newFiles;
for i = 1:length(files(:,1))
newFiles = [newFiles; files(i, 1).name];
endfor;
newFiles =
ALA0.ASC
ALA15.ASC
ALA150.ASC
ALA30.ASC
ALA45.ASC
ALA60.ASC
ALA90.ASC
排序(newFiles)
ans =
ALA0...A
ALA10.ACC
ALA10.ASC
ALA30.ASC
ALA45.ASC
ALA650ASC
ALA95ASSSC
我怎样才能让我的列向量与原始值一起排序呢? 或者是否有其他方法对从dir函数中得到的文件名进行排序?
试着使用一个单元格。
files = dir('*.*');
newFiles={};
for i = 1:length(files(:,1))
newFiles(i)=files(i, 1).name;
endfor;
就我所看到的,dir已经产生了一个排序的列表
octave:30> newFiles
newFiles =
{
[1,1] = ALA01.asc
[1,2] = ALA20.asc
[1,3] = ALA33.asc
[1,4] = ALA41.asc
}
octave:31> sort(newFiles)
ans =
{
[1,1] = ALA01.asc
[1,2] = ALA20.asc
[1,3] = ALA33.asc
[1,4] = ALA41.asc
}