MATLAB写入、读取二进制文件和绘图

2022年5月21日 32点热度 0人点赞

本文首先介绍用fopen( ),fwrite( )和fclose将数据写入二进制文件,其次介绍用fopen( ),fread( )和fclose( )读取二进制文件,最后介绍将读取的二进制文件中的数据绘制成图像。

工具/原料

  • MATLAB
  • fopen
  • fwrite
  • fread
  • fclose

方法/步骤

  1. 1

    第一,启动MATLAB,新建脚本(Ctrl+N),输入如下代码,分别进行二进制数据文件的写入和读取。

    close all; clear all; clc

    x=linspace(0,2*pi);

    y1=sin(x);y2=cos(x);y3=sin(x)+cos(x);

    y=[y1';y2';y3'];

    %----write to the binary file----%

    fid1=fopen('triangle.bin','wb')

    fwrite(fid1,y,'double')

    fclose(fid1)

    %----read from the binary file----%

    fid2=fopen('triangle.bin','rb')

    yy=fread(fid2,[100,3],'double');

    fclose(fid2)

    上述脚本首先将数据y=[y1';y2';y3']写入二进制文件triangle.bin,然后读取二进制文件triangle.bin并赋值给yy。

  2. 2

    第二,保存和运行上述脚本,在工作区(Work Place)得到y,y1,y2,y3,yy等数据,双击可以查看这些数据。

  3. 3

    第三,同时在命令行窗口(Command Window)返回如下结果。

    fid1 =

         3

    ans =

       300

    ans =

         0

    fid2 =

         3

    ans =

         0

    其中fid1=3,fid2=3表示fopen( )打开二进制文件成功(大于0就表示打开成功),ans=300表示fwrite( )写入了300个数据,两个ans=0表示fclose( )关闭二进制文件成功。

  4. 4

    第四,在上述脚本的基础上,接着输入如下代码进行绘图。

    plot(yy(:,1),'r','LineWidth',2);hold on

    plot(yy(:,2),'g','LineWidth',2)

    plot(yy(:,3),'b','LineWidth',2)

    其中数据yy(100行3列)是从二进制文件triangle.bin读取得到的,yy(:,1),yy(:,2),yy(:,3)分别表示数据yy的第1,第2,第3列数据。

  5. 5

    第五,保存和运行上述脚本,得到如下图像,yy(:,1),yy(:,2),yy(:,3)分别用红线、绿线、蓝线表示。

    END

注意事项

  • fopen()中的r表示只读方式打开数据,w表示打开后写入数据,添加上b则表示以二进制(binary)方式读或写。
经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。
作者声明:本篇经验系本人依照真实经历原创,未经许可,谢绝转载。
展开阅读全部

laozhao

这个人很懒,什么都没留下

文章评论