0

多くの列を含む単純なテキスト ファイルがあるとします。一部の列はすでに 10 進数値です。一部は 16 進数です。それらの列は既知です。

test.txt >>

1.4 1.9 21 0030 0D12
0.3 3.3 91 FFFF 1111

最初の 3 列を 10 進数として読み取り、最後の 2 列を 16 進数として読み取りたい。

これは簡単にできますか?

ありがとう!

4

2 に答える 2

1

で簡単にできますtextread。あなたの例では、次のようにします。

[col1, col2, col3, col4, col5] = textread('myfile.txt', '%f %f %f %s %s');

これにより、通常どおり 10 進数値が読み取られ、16 進数値が文字列として扱われます。

さらに文字列を 10 進数値にも変換したい場合は、 with を使用hex2deccellfunます。

[col4, col5] = cellfun(@hex2dec, col4, col5);

お役に立てれば。

于 2012-08-25T00:00:36.067 に答える
0

fscanfを使用できます。16 進数値はすべて正である必要がありますか? その場合は、次のようにスキャンできます。

fscanf(file_id,'%f %f %d %x %x')
于 2012-08-25T00:02:44.443 に答える