如何在MATLAB中打开格式化的文本文件

时间:2017-04-06 14:43:39

标签: matlab

我需要在matlab中打开一个与此类似的文本文件:

(1.234,2.345,3.456)
(1.111,2.222,3.333)
(5.432,4.321,5.432)

我已尝试过dlmreadfscanfimportdata,但似乎都没有。我正在尝试将此文件读入3x3阵列,我不知道该怎么做。

1 个答案:

答案 0 :(得分:0)

注意:针对由换行符分隔的数据字段进行了更新

假设文本文件在当前目录中被称为test.txt,这是一个不优雅的解决方案。

% Read the text file into a string:
    txt = fileread('test.txt');
% Split the string at white space:
    A = strsplit(txt,'\n'); 
% Remove brackets:
    B = cellfun(@(x) x(2:end-1),A,'uniformoutput',0); 
% Split groups by commas:
    C = cellfun(@(x) strsplit(x,','),B,'uniformoutput',0);
% Convert entries from string to double:
    D = cellfun(@(x) cellfun(@str2num,x),C','uniformoutput',0); 
% Convert from cell to one big matrix:
    NumArray = cell2mat(D); 

输出

NumArray =

    1.2340    2.3450    3.4560
    1.1110    2.2220    3.3330
    5.4320    4.3210    5.4320