0

次のような情報を含むファイルがあります。

id   allele1 allele2
1    A A
2    T A
3    A A
.    ...
.    ...
.    ...

ファイルを 3 つのフィールドを含む構造体配列に解析したいと思います(id, allele1, allele2)。id は 1 から n までのすべての数字、allele1 は文字の最初の列、allele2 は 2 番目の列です。

しかし、これを行う方法を理解するのに苦労しています。

4

1 に答える 1

1

将来的には、あなたが試したことを示すのが最善でしょう。ただし、これで開始できるはずです。

fid = fopen('input.txt','r');

%header line
line = fgetl(fid);
header = regexpi(line,'\W+','split');

ID=1;

%read first line
line = fgetl(fid);

while ischar(line)

   l = regexpi(line,'\W+','split');

   for i=1:numel(l)
       data(ID).(header{i}) = l(i);
   end
    ID = ID+1;
    line = fgetl(fid);
end
fclose(fid);

その結果:

>> data

data = 

1x4 struct array with fields:
    id
    allele1
    allele2

>> data(1)

ans = 

         id: {'1'}
    allele1: {'A'}
    allele2: {'A'}

>> data(2)

ans = 

         id: {'2'}
    allele1: {'T'}
    allele2: {'A'}
于 2012-05-14T16:40:00.390 に答える