我正在使用matlab项目。我有一个像这样的文本文件
AGE 1 1
SEX 2 2
NOP 3 0
SES 0 5
PDD 6 6
ACD 0 0
UDC 8 3
并且我想使用textread从此制表符分隔文件创建一个变量,如下面的示例所示。
x=
'AGE' 1 1
'SEX' 2 0
'NOp' 3 3
'SES' 0 5
'PDD' 6 6
'ACD' 0 0
'UDC' 8 3
我该怎么办?我尝试了很多东西,但无法找到解决方案请帮忙。
答案 0 :(得分:0)
你可以这样做:
Filename = 'testfile.txt';
fid = fopen(Filename);
Output = textscan(fid, '%s %d %d', 'delimiter', ' ', 'MultipleDelimsAsOne', 1);
fclose(fid);
然后你会:
Output =
{7x1 cell} [7x1 int32] [7x1 int32]
Output{1} =
'AGE'
'SEX'
'NOP'
'SES'
'PDD'
'ACD'
'UDC'
Output{2} =
1
2
3
0
6
0
8
Output{3} =
1
2
0
5
6
0
3
然后展开单元格数组元素,以便可以直接寻址每个元素:
x = [ Output{1}, num2cell(Output{2}), num2cell(Output{3}) ]
x =
'AGE' [1] [1]
'SEX' [2] [2]
'NOP' [3] [0]
'SES' [0] [5]
'PDD' [6] [6]
'ACD' [0] [0]
'UDC' [8] [3]
然后你可以直接解决这些问题:
x(1,1) =
'AGE'
x(5,2) =
[6]