0

テキスト ファイルを読み取り、各データ セットを個別の配列に格納できる m ファイルが必要です。データのセットは、特定の文字列の間に出現する 16 進値の範囲です。

テキスト ファイルの形式は次のようになります。

This is the set for x = 100
---------------------------

For y=COLUMN 1 we have
1232
3ff3
4a45
23d4
5323
...
...
END of COLUMN 1 meas

For y=COLUMN 2 we have
1232
3c43
4545
2d24
5a23
...
...
END of COLUMN 2 meas

This is the set for x = 200
---------------------------

For y=COLUMN 1 we have
2b23
1232
d387
6f74
4c47
...
...
END of COLUMN 1 meas

For y=COLUMN 2 we have
354d
a546
3c63
5a46
a349
...
...
END of COLUMN 2 meas

This is the set for x = 530
---------------------------
..........
..........

ご覧のとおり、X の新しい値ごとに、"y=COLUMN 1" と "y=COLUMN 2" の個別のデータ セットを取得します。私が望むのは、これらのデータ セット (2 つの 'y') を X 値ごとに 1 つずつ、別々の (1,2) 配列に格納することです。理想的には、これは次のようになります。

Array_for_x_100(1,1)=[data for "y=COLUMN 1"]
Array_for_x_100(1,2)=[data for "y=COLUMN 2"]

Array_for_x_200(1,1)=[data for "y=COLUMN 1"]
Array_for_x_200(1,2)=[data for "y=COLUMN 2"]

..........
..........

私が考えたのは、それを行うための textscan の使用でしたが、使用方法について少し混乱しました。どういうわけか、特定の文字列の間に表示される値の範囲を保存する必要があります (たとえば、「This is the set for x = 100」文字列の 3 行後から「END of COLUMN 1 meas」文字列までの値を保存するなど)。

誰かが助けてくれれば、本当に感謝します。

4

1 に答える 1

0

TextScan のパラメータを微調整してみてください

fid = fopen([opath filename]);
K = textscan(fid,'%f %f %f %f ',...    
    'CommentStyle','For',...
    'CommentStyle','This',...
    'CommentStyle','End',...
    'Delimiter',',\t',...
    'MultipleDelimsAsOne',1);
fclose(fid);

K = cell2mat(K);

あなたはそれを調整したり、入力を制御するためのパラメータを見つけたりすることができます.しかし、それはうまくいくはずです.

于 2011-11-18T15:03:12.820 に答える