尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
matlab中的文件操作
一、文件的打开与关闭1打开文件在读写文件之前必须先用fopen函数打开或创建文件并指定对该文件进行的操作方式。fopen函数的调用格式为fidfopen文件名‘打开方式’说明其中fid用于存储文件句柄值如果返回的句柄值大于0则说明文件打开成功。文件名用字符串形式表示待打开的数据文件。常见的打开方式如下l ‘r’只读方式打开文件默认的方式该文件必须已存在。l ‘r’读写方式打开文件打开后先读后写。该文件必须已存在。l ‘w’打开后写入数据。该文件已存在则更新不存在则创建。l ‘w’读写方式打开文件。先读后写。该文件已存在则更新不存在则创建。l ‘a’在打开的文件末端添加数据。文件不存在则创建。l ‘a’打开文件后先读入数据再添加数据。文件不存在则创建。另外在这些字符串后添加一个“t”如‘rt’或‘wt’则将该文件以文本方式打开如果添加的是“b”则以二进制格式打开这也是fopen函数默认的打开方式。2关闭文件文件在进行完读、写等操作后应及时关闭以免数据丢失。关闭文件用fclose函数调用格式为stafclose(fid)说明该函数关闭fid所表示的文件。sta表示关闭文件操作的返回代码若关闭成功返回0否则返回-1。如果要关闭所有已打开的文件用fclose(‘all’)。二、二进制文件的读写操作1写二进制文件fwrite函数按照指定的数据精度将矩阵中的元素写入到文件中。其调用格式为COUNTfwritefidAprecision说明其中COUNT返回所写的数据元素个数可缺省fid为文件句柄A用来存放写入文件的数据precision代表数据精度常用的数据精度有char、uchar、int、long、float、double等。缺省数据精度为uchar即无符号字符格式。1、short 二进制位数16最小值Short.MIN_VALUE-32768 -2的15此方最大值Short.MAX_VALUE32767 2的15次方-12、int 二进制位数32最小值Integer.MIN_VALUE -2147483648 -2的31次方最大值Integer.MAX_VALUE 2147483647 2的31次方-13、long 二进制位数64最小值Long.MIN_VALUE-9223372036854775808 -2的63次方最大值Long.MAX_VALUE9223372036854775807 2的63次方-14、float 二进制位数32包装类java.lang.Float最小值Float.MIN_VALUE1.4E-45 2的-149次方最大值Float.MAX_VALUE3.4028235E38 2的128次方-15、double 二进制位数64最小值Double.MIN_VALUE4.9E-324 2的-1074次方最大值Double.MAX_VALUE1.7976931348623157E308 2的1024次方-1例6.8 将一个二进制矩阵存入磁盘文件中。 a[1 2 3 4 5 6 7 8 9]; fidfopen(d:\test.bin,wb) %以二进制数据写入方式打开文件fid 3 %其值大于0表示打开成功 fwrite(fid,a,double)ans 9 %表示写入了9个数据 fclose(fid)ans 0 %表示关闭成功2读二进制文件fread函数可以读取二进制文件的数据并将数据存入矩阵。其调用格式为[ACOUNT]fread(fidsizeprecision)说明其中A是用于存放读取数据的矩阵、COUNT是返回所读取的数据元素个数、fid为文件句柄、size为可选项若不选用则读取整个文件内容若选用则它的值可以是下列值N读取N个元素到一个列向量、inf读取整个文件、[MN]读数据到M×N的矩阵中数据按列存放。 precision用于控制所写数据的精度其形式与fwrite函数相同。三、文本文件的读写操作1读文本文件fscanf函数可以读取文本文件的内容并按指定格式存入矩阵。其调用格式为[ACOUNT]fscanf(fidformatsize)说明其中A用来存放读取的数据COUNT返回所读取的数据元素个数fid为文件句柄format用来控制读取的数据格式由%加上格式符组成常见的格式符有d整型、f浮点型、s字符串型、c字符型等在%与格式符之间还可以插入附加格式说明符如数据宽度说明等。size为可选项决定矩阵A中数据的排列形式它可以取下列值N读取N个元素到一个列向量、inf读取整个文件、[MN]读数据到M×N的矩阵中数据按列存放。或者使用fopen和fread命令2写文本文件fprintf函数可以将数据按指定格式写入到文本文件中。其调用格式为fprintffidformatA说明fid为文件句柄指定要写入数据的文件format是用来控制所写数据格式的格式符与fscanf函数相同A是用来存放数据的矩阵。例 创建一个字符矩阵并存入磁盘再读出赋值给另一个矩阵。 astring; fidfopen(d:\char1.txt,w); fprintf(fid,%s,a); fclose(fid); fid1fopen(d:\char1.txt,rt); bfscanf(fid1,%s)b string3matlab读txt文件fidfopen(fx.txt,r);%得到文件号[f,count]fscanf(fid,%f %f,[12,90]);%把文件号1的数据读到f中。其中f是[12 90]的矩阵%这里%f %f表示读取数据的形势它是按原始数据型读出fclose(fid);%关闭文件另外有的txt文件还可以用load来打开其语句为fload(fx.txt)我个人觉得用第一种方式较好。因为有些时候特别是fx.txt 的一行中有多个数据时用load就比较麻烦了。四、数据文件定位MATLAB提供了与文件定位操作有关的函数fseek和ftell。fseek函数用于定位文件位置指针其调用格式为statusfseek(fid, offset, origin)其中fid为文件句柄offset表示位置指针相对移动的字节数OFFSET values are interpreted as follows: 0 Move toward the end of the file. 0 Do not change position. 0 Move toward the beginning of the file.origin表示位置指针移动的参照位置ORIGIN values are interpreted as follows:bof or -1 Beginning of filecof or 0 Current position in fileeof or 1 End of file。若定位成功status返回值为0否则返回值为–1。ftell函数返回文件指针的当前位置其调用格式为positionftell (fid)返回值为从文件开始到指针当前位置的字节数。若返回值为–1表示获取文件当前位置失败。例FIDfopen(sw.m,r)fseek(FID,10,-1)ans 0 ftell(FID)ans 10 fseek(FID,-10,1)ans 0 ftell(FID)ans 2180 %总长度2189文件指针可以移动到当前文件末尾的后面但不能移动到开头的前面当把指针移动到文件末尾后面时若关闭文件则文件大小会自动增长到文件指针所指的大小用这种方法可以很容易创建一个很大的文件当然新增加的文件内容是随机的。免责声明本文系网络转载或改编未找到原创作者版权归原作者所有。如涉及版权请联系删
RELATED

相关推荐

结构化数据、非结构化数据区别

结构化数据、非结构化数据区别

一、核心定义结构化数据:指具有固定格式、可直接用二维表(如数据库表)表示的数据,其字段(列)定义明确,数据之间的关系清晰。例如:Excel 表格中的数据、关系型数据库(MySQ…

📅 2026/10/30 1:24:46
游戏大厂技术全景(36):匹配与排位算法——技能评估、匹配质量与段位体系

游戏大厂技术全景(36):匹配与排位算法——技能评估、匹配质量与段位体系

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📅 2026/10/30 1:24:46
网站地图怎么设置?

网站地图怎么设置?

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📅 2026/10/30 1:24:46
MORE NEWS

更多资讯

📰

RapidOCR 5分钟装好,离线跑通多语言 OCR 识别

RapidOCR 5分钟装好,离线跑通多语言 OCR 识别 【免费下载链接】RapidOCR 📄 Awesome OCR multiple programing languages toolkits based on ONNX Runtime, OpenVINO, MNN, PaddlePaddle, TensorRT and PyTorch. 项目地址: https://gitcode.com/GitHub…

📰

Blender 免费开源 3D 软件完整指南:从建模、动画到渲染

Blender 免费开源 3D 软件完整指南:从建模、动画到渲染 【免费下载链接】blender Official mirror of Blender 项目地址: https://gitcode.com/gh_mirrors/bl/blender Blender 是免费开源的一体化 3D 创作软件,覆盖建模、雕刻、绑定、动画、物理模拟、Cycles 与 EEVEE 渲…

📰

可白嫖源码---课程设计--毕业设计--springboot二次元周边售卖网站[编号:project18448](案例分析)

本文仅展示核心实现逻辑与部分代码片段,完整项目源码、配套文档、数据库脚本内容较多,篇幅有限无法全部放出。 有需要完整资源的同学,可以在评论区留言【资料或领源码】,我会一 一回复站内私信,发送完整文件 摘 要 本…

📰

用自编码器重建误差抓异常:deep-learning-with-python-notebooks 的检测基线搭法

用自编码器重建误差抓异常:deep-learning-with-python-notebooks 的检测基线搭法 【免费下载链接】deep-learning-with-python-notebooks Jupyter notebooks for the code samples of the book "Deep Learning with Python" 项目地址: https://gitcode.…

📰

TranslucentTB 透明任务栏启动失败?4步排除0x80073CF3错误的完整指南

TranslucentTB 透明任务栏启动失败?4步排除0x80073CF3错误的完整指南 【免费下载链接】TranslucentTB A lightweight utility that makes the Windows taskbar translucent/transparent. 项目地址: https://gitcode.com/gh_mirrors/tr/TranslucentTB Translu…

📰

沐曦股份联合启动“木兰AI-OpenG大模型开源开放分级测评”,共建开源繁荣生态

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬