0

我正在处理一个 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

我该怎么做?我尝试了很多东西,但无法找到解决方案,请帮忙。

4

1 回答 1

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]
于 2012-06-18T21:10:21.933 回答