首页 > 编程知识 正文

matlabfwrite函数用法举例,matlab imwrite

时间:2023-05-04 05:28:34 阅读:232939 作者:1221

目录

语法

说明

示例

将 uint8 数据写入二进制文件

将 4 字节整数写入二进制文件

将数据附加到二进制文件

按 Big-Endian 字节排序写入二进制文件


        fwrite将数据写入二进制文件。

语法 fwrite(fileID,A)fwrite(fileID,A,precision)fwrite(fileID,A,precision,skip)fwrite(fileID,A,precision,skip,machinefmt)count = fwrite(___) 说明

fwrite(fileID,A) 将数组 A 的元素按列顺序以 8 位无符号整数的形式写入一个二进制文件。该二进制文件由文件标识符 fileID 指示。使用 fopen 可打开文件并获取 fileID 值。读取文件后,请调用 fclose(fileID) 来关闭文件。

fwrite(fileID,A,precision) 按照 precision说明的形式和大小写入 A 中的值。

fwrite(fileID,A,precision,skip) 在写入每个值之前跳过skip指定的字节数或位数。

fwrite(fileID,A,precision,skip,machinefmt) 另外还指定将字节或位写入文件的顺序。skip参数为可选参数。

count = fwrite(___) 返回 A 中 fwrite 已成功写入到文件的元素数。您可以将此语法与前面语法中的任何输入参数结合使用。

示例 将 uint8 数据写入二进制文件

        打开名称为 nine.bin 的文件以便写入。在对 fopen 的调用中使用 'w' 指定写访问权限。

fileID = fopen('nine.bin','w');

  fopen 返回文件标识符 fileID。将从 1 到 9 的整数以 8 位无符号整数的形式写入。

fwrite(fileID,[1:9]);

        关闭文件。

fclose(fileID); 将 4 字节整数写入二进制文件

        打开名称为 magic5.bin 的文件以便写入。

fileID = fopen('magic5.bin','w');

        写入 5×5 幻方矩阵的 25 个元素。使用 precision 参数 'integer*4' 可以写入 4 字节整数。

fwrite(fileID,magic(5),'integer*4');

        关闭文件。

fclose(fileID); 将数据附加到二进制文件

        写入一个包含 4×4 幻方矩阵、以双精度浮点数形式存储元素的二进制文件。

fileID = fopen('magic4.bin','w');fwrite(fileID,magic(4),'double');fclose(fileID);

        以写访问权限打开文件 magic4.bin,以便向文件追加内容。在 fopen 调用中指定文件访问类型 'a'。

fileID = fopen('magic4.bin','a');

        将一个由零组成的 4×4 矩阵追加到文件中。然后关闭文件。

fwrite(fileID,zeros(4),'double');fclose(fileID); 按 Big-Endian 字节排序写入二进制文件

        将随机的双精度数值写入名称为 myfile.bin 的文件,以便在 big-endian 系统上使用。在 fwrite 调用中指定 'ieee-be' 的 machinefmt 值,以便指示 big-endian 字节排序。

fileID = fopen('myfile.bin','w');fwrite(fileID,rand(4),'double','ieee-be');fclose(fileID);

        文件标识符,指定为从 fopen 获取的整数,1 表示标准输出(屏幕),要写入的值的类和大小(以位为单位),指定为“精度”列中列出的字符向量或字符串标量之一。

值类型精度位(字节)

无符号整数

'uint'

32 (4)

'uint8'

8 (1)

'uint16'

16 (2)

'uint32'

32 (4)

'uint64'

64 (8)

'uchar'

8 (1)

'unsigned char'

8 (1)

'ushort'

16 (2)

'ulong'

32 (4)

'ubitn'

1 ≤ n ≤ 64

有符号整数

'int'

32 (4)

'int8'

8 (1)

'int16'

16 (2)

'int32'

32 (4)

'int64'

64 (8)

'integer*1'

8 (1)

'integer*2'

16 (2)

'integer*4'

32 (4)

'integer*8'

64 (8)

'schar'

8 (1)

'signed char'

8 (1)

'short'

16 (2)

'long'

32 (4)

'bitn'

1 ≤ n ≤ 64

浮点数

'single'

32 (4)

'double'

64 (8)

'float'

32 (4)

'float32'

32 (4)

'float64'

64 (8)

'real*4'

32 (4)

'real*8'

64 (8)

字符

'char*1'

8 (1)

'char'

依赖于与文件关联的编码方案。使用fopen设置编码。

        如果指定bitn或ubitn的精度,则fwrite会使范围之外的所有值饱和。写入每个值之前要跳过的字节数,指定为标量。如果将precision指定为bitn或 ubitn,以位为单位指定skip。使用 skip 参数将数据插入到固定长度记录的非连续字段中。

        在文件中写入字节的顺序,指定为下表中的字符向量或字符串标量之一。对于bitn和ubitn精度,machinefmt会指定字节中位的写入顺序,而字节的写入顺序仍与系统字节顺序相同。

'n' 或 'native'

系统字节排序方式(默认)

'b' 或 'ieee-be'

Big-endian 排序

'l' 或 'ieee-le'

Little-endian 排序

's' 或 'ieee-be.l64'

Big-endian 排序,64 位长数据类型

'a' 或 'ieee-le.l64'

Little-endian 排序,64 位长数据类型

        默认情况下,当前支持的所有平台都使用 little-endian 排序方式对新文件进行排序。现有二进制文件可以使用 big-endian 或 little-endian 排序方式。

HTML div三边怎么加边框

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。