2

ファイルには、改行で区切られた 2 進数があります。

$ cat bin_MCS.txt |tail
000000001100000000000010000000000
000000010010000000000010000000000
000011000000000000000000000000000
000010100000000000000000000000000
000101000000000000000000000000000
000100100000000000000000000000000
000100001000000000000010000000000
000000110000000000000010000000000
000001010000000000000010000000000
000010001000000000000010000000000

Matlab は DEC で 2 進数を読み取りますが、間違っています

>> textread('bin_MCS.txt')

ans =

   1.0e+30 *

    0.0000
    0.0000
    0.0000
    0.0000
    0.0000
    0.0000
    0.0000
    0.0000
    0.0000
    0.0000
    0.0000
    0.0000
    0.0000

ゴール

[1 0 1;0 1 1] のような行列に 2 進数を読み取る必要があります。最初のパズルは、2 進数を読めるようになることです。次のパズルは、それらを特定のフォーマットで読めるようにすることです。

4

2 に答える 2

4

文字列として読み取り、次のように 10 進数に変換しますbin2dec

bin2dec(textread('bin_MCS.txt','%s'))

ans =

    25166848
    37749760
   402653184
   335544320
   671088640
   603979776
   553649152
   100664320
   167773184
   285213696

編集:

個々の 2 進数を行列に読み込むには、これを使用できます (48 は '0' の ASCII コードです)。

cell2mat(textread('bin_MCS.txt','%s'))-48
于 2013-09-05T12:06:08.323 に答える