我需要在matlab中打开一个与此类似的文本文件:
(1.234,2.345,3.456)
(1.111,2.222,3.333)
(5.432,4.321,5.432)
我已尝试过dlmread
,fscanf
和importdata
,但似乎都没有。我正在尝试将此文件读入3x3阵列,我不知道该怎么做。
答案 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