0

编辑 3

你好!我遇到了矩阵尺寸的问题,但我已经解决了。现在我的问题是我想对同一个文件夹中的大量文件执行相同的操作,并且我想将输出值写在 text.txt 的单独行上。使用第一个它可以工作,但它不会“写入”到“文本”,其余的。有什么不对?

myPath = 'C:\EX\'; 
a= dir (fullfile(myPath,'*.DIM')); 
fileNames = { a.name };

% Rename files
for k = 1:length(fileNames)
     newFileName = [fileNames{k}(1:2) fileNames{k}(4:6) '.txt']; 
     movefile([myPath fileNames{k}], [myPath newFileName]);
end

 filePattern=fullfile( myPath,'*.txt');
 txtFiles= dir(filePattern);    
   for k = 1:length(txtFiles)
    baseFileName=txtFiles(k).name;
    fullFileName= fullfile(myPath,baseFileName);
    fid=fopen(fullFileName, 'r');
    for i = 1:18
        m{i} = fgetl(fid);
    end
    result2 = m{18};
    result2b= result2([12:19]);

    fid=fopen(fullFileName, 'r');
    for i = 1:30
    m{i} = fgetl(fid);
    end
    result3 = m{30};
    result3b= result3([12:19]);

    fid=fopen(fullFileName, 'r');
    for i = 1:31
    m{i} = fgetl(fid);
    end
    result4 = m{31};
    result4b= result4([12:20]);

    fid=fopen(fullFileName, 'r');
    for i = 1:19
    m{i} = fgetl(fid);
    end
    result5 = m{19};
    result5b= result5([12:20]);

  text= {baseFileName, result2b, result3b, result4b, result5b};
    final= [Fields'; text];

       end

真的提前谢谢!

4

1 回答 1

0

索引超出维度正是它的意思。

尝试在它发生的行放置一个断点并检查 result2 的维度。假设它是一个向量,你会发现它的长度小于 19。

于 2012-10-31T10:19:25.583 回答