MATLAB Function Reference | ![]() ![]() |
表示
count = fwrite(fid,A,precision
) count = fwrite(fid,A,precision
,skip)
詳細
count = fwrite(fid,A,precision)
は、MATLAB の値を指定された数値精度 precision
に変換し、行列 A
の要素を指定されたファイルに書き出します(より多くの情報については、
"注意" を参照してください)。
データは列順にファイルに書き出され、count
に正しく書き出された要素数を出力します。引数fid
は、fopen
から得られる整数ファイル識別子です。
count = fwrite(fid,A,
は、各々のprecision
,skip)
precision
値の書き出しの前にスキップするバイト数を指定するオプション引数skip
を含んでいます。skip
があると、fwrite
は、スキップしてから1つの値を書き出し、つぎにスキップをして別の値を書き出す、等々のようにA
のすべての要素が書き出されるまで行います。これは、固定長のレコードの連続でないフィールドにデータを挿入するために有効です。precision
が、'bitN'
や 'ubitN'
のようなビット書式ならば、skip
はビット単位で指定されます。
注意
数値精度は、使用コンピュータに対する実行可能なコードを生成するために使われるコンパイラのタイプによるのと同様に、コンピュータのアーキテクチャでの数字の表現方法によっても異なることがあります。
下記の表に、ポータブルなコードを必要とするときに利用するべき、C-準拠でプラットフォームに依存しない数値精度文字列書式示します。
便宜上、MATLABは、リストされた MATLAB精度に等価ないくつかのC やFortran のデータタイプも認めています。C や Fortran のプログラマならば、最も使い慣れた言語でのデータタイプ名を使うことがより便利であることがわかると思います。
常に同じプラットフォーム上で作業をするならば、ポータブル性を考慮する必要はありません。つぎのプラットフォームに依存した数値精度文字列書式も利用できます。
つぎの 2つの書式は、バイトではなくビットの入力ストリームに写像します。
MATLAB |
C、または、Fortran |
解釈 |
|
|
符号付き整数: N バイト (1 ![]() N ![]() 64 ) |
|
|
符号なし整数: N バイト (1 ![]() N ![]() 64 ) |
例題
fid = fopen('magic5.bin','wb');
fwrite(fid,magic(5),'integer*
4')
は、4バイトとして格納された、5行5列の摩方陣行列の25要素を含む、100バイトのバイナリファイルを作成します。
参考
fclose
, ferror
, fopen
, fprintf
, fread
, fscanf
, fseek
, ftell
![]() | funm | fwrite (serial) | ![]() |