MATLAB写入(fwrite)和读出(fread)数据

2025-09-25 05:12:35

1、第一,先往文件中写数据。启动MATLAB,新建脚本(Ctrl+N),输入如下代码:

close all; clear all; clc

%%%---write data to the file

fileID1=fopen('threefive.bin','w');

A=rand(3,5)

fwrite(fileID1,A,'double');

fclose(fileID1);

上述代码是往二进制文件'threefive.bin'写入rand(3,5)创建的数据,其中rand(3,5)表示产生3行5列的正态分布随机数(0-1之间)。

MATLAB写入(fwrite)和读出(fread)数据

2、第二,保存和运行上述脚本,在命令行窗口(Command Window)得到如下结果。

A =

0.1320    0.5752    0.3532    0.0430    0.7317

0.9421    0.0598    0.8212    0.1690    0.6477

0.9561    0.2348    0.0154    0.6491    0.4509

该结果就是rand(3,5)产生的3行5列的正态分布随机数(0-1之间)。

MATLAB写入(fwrite)和读出(fread)数据

3、第三,同时在默认路径文件夹中可以找到二进制文件threefive.bin,改文件中包含了第二步中的数据A。

MATLAB写入(fwrite)和读出(fread)数据

4、第四,下面从二进制文件threefive.bin中读取数据。接着输入如下代码:

%%%---read data from the file

fileID2=fopen('threefive.bin');

B=fread(fileID2,[3 5],'double')

fclose(fileID2);

上述代码把从二进制文件threefive.bin中读出的数据赋值给B。

MATLAB写入(fwrite)和读出(fread)数据

5、第五,保存和运行上述改进后的代码,在命令行窗口得到如下结果。A =

0.3063    0.8176    0.3786    0.3507    0.5502

0.5085    0.7948    0.8116    0.9390    0.6225

0.5108    0.6443    0.5328    0.8759    0.5870B =

0.3063    0.8176    0.3786    0.3507    0.5502

0.5085    0.7948    0.8116    0.9390    0.6225

0.5108    0.6443    0.5328    0.8759    0.5870

也就是说,写入(fwrite)二进制文件threefive.bin中的数据A,与从该二进制文件读出(fread)的数据B一致。以上对二进制数据的写入与读出正确。

MATLAB写入(fwrite)和读出(fread)数据

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢