Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
MATLABのプログラムによって生成されたdiehardを使用していくつかの「乱数」をテストする必要があります。Diehardは32ビットのバイナリファイル(単精度)のみを受け入れますが、MATLABにデータを保存すると、倍精度のバイナリファイルに保存されます(つまり、2 * 64 = 128ビットのバイナリファイル)。64ビットシステムで動作するMATLABで32ビットバイナリファイルを作成するにはどうすればよいですか?
特定の形式でバイナリ ファイルにデータを読み書きする場合は、関数FREAD / FWRITEを使用する必要があります。たとえば、これは 100 個のランダムな値を 32 ビット浮動小数点数としてファイルに書き込みます。
A = rand(1,100); fid = fopen('temp.dat','wb'); fwrite(fid,A,'float32'); fclose(fid);
MATLAB でのファイル IO の詳細については、他の関連する SO 投稿をチェックすることもできます: hereおよびhere。
gnovice のソリューションに加えて、次のように乱数を「単一」として生成することもできます。
rand(1, 100, 'single')