首页 > 解决方案 > matlab如何格式化数组

问题描述

我正在使用一个 matlab 脚本来打开一组文本文件并读取它们的内容。内容为XY双点,用“ ”隔开。我将读取的值保存在这样的数组中:

    dataArray= textscan(fileID, formatSpec, 'Delimiter', delimiter, 'MultipleDelimsAsOne', true, 'EmptyValue' ,NaN, 'ReturnOnError', false);  

这工作正常,但是当我打开多个文件时会出现问题,因为将数据放在数组 od 数据中。这里的代码和示例:

for i = 1:length(files) 
    %% Open the text file.
    fileID = fopen([path files{i}],'r');
        dataArray = cat(1, dataArray, textscan(fileID, formatSpec, 'Delimiter', delimiter, 'MultipleDelimsAsOne', true, 'EmptyValue' ,NaN, 'ReturnOnError', false));
    end

    %% Close the text file.
    fclose(fileID);
end

结果是:

在此处输入图像描述

每个单元格在哪里

在此处输入图像描述

我希望所有值都像第二张图片一样连续显示。我做错了什么?

标签: arraysmatlab

解决方案


Cat 应该可以工作,但是对于您的示例[dataArray; textscan(...)]对我来说看起来更方便。首先检查您通过 textscan 加载的内容是否确实具有您期望的格式。


推荐阅读