-2

正如Shai 和 CTZStef 建议的那样,当我必须在 MATLAB 中打开多个具有相似名称的文件时,我必须这样做

for k=1:size(fls)
    fileName = strcat('int_',num2str(k),'.ASC');
    A(k) = importdata(fileName, ' ', 9);
    x(k) = A(k).data(:,1);
    y(k) = A(k).data(:,2);
end

或者也

fls = dir('int_00_*.ASC');
for fi=1:numel(fls)
    A(fi) = importdata(fls(fi).name, ' ',9);
end

好吧,问题是它们都不起作用。我应该怎么办?我的 MATLAB 版本有问题吗?

4

1 回答 1

2

您需要更仔细地遵循您得到的答案:

  1. strcat解决方案不能处理文件名的零填充。您必须手动将所有文件从 重命名'int_001.ASC''int_1.ASC'.
    更新(由于@DedekMraz 的评论):您需要将strcat输入字符串修改为strcat('int_', num2str( k, '%03d' ), '.ASC');

  2. 您可以使用与此类似的策略。查看您已经得到的答案的更新。

  3. 你给你的dir函数的输入是错误的,它必须是dir('int_*.ASC')而不是dir('int_00_*.ASC')

于 2013-03-13T09:19:08.123 回答