首页 > 其他分享 >Matlab文件操作

Matlab文件操作

时间:2023-12-19 11:01:48浏览次数:29  
标签:文件 读取 浮点数 位置 Matlab fid 操作 指针

1、  Matlab文件操作主要有三个步骤:首先打开文件,然后对文件进行读写操作,最后要关闭文件。

2、  fid=fopen(文件名,打开方式)

'r'

只读,文件必须存在(缺省的打开方式)

'w'

写文件,若文件已存在则原内容将被覆盖;若文件不存在则新建一个

'a'

在文件末尾添加,文件若不存在则新建一个

'r+'

可读可写,文件必须存在

'w+'

可读可写,若文件已存在则原内容将被覆盖;若文件不存在则新建一个

'a+'

可读可写可添加,文件若不存在则新建一个

3、  fid 为文件句柄,其它函数可以用它对该文件进行操作。如果句柄值大于 0,则表示文件打开成功;若打开失败,fid 的返回值为 -1。

fid=fopen('output.txt','wt+');

fprintf(fid,'Hello world!\n');

fclose(fid);

4、  有两个标准代码文件,不需打开就可以直接使用,分别为:fid=1 标准输出文件,fid=2 标准错误文件。

fprintf(1,'Hello world!\n');

fprintf(2,'Hello world!\n');

5、  若不指定打开方式,则表示只读。

6、  文件有两种格式:二进制文件(b)和文本文件(t)。

6、在Windows下,打开文件的默认是二进制格式,如果要以文本方式打开,则必须在打方式中加上字符 't'。

fid=fopen('output.txt','wt+');

7、  其中 fid 为所要关闭的文件的句柄,status 为关闭文件的返回代码,若关闭成功则为 0,否则为 -1。

status=fclose(fid);

8、  文本文件的读取

[A,count]=fscanf(fid,format,size)

A 用来存放读取的数据

count 返回读取数据的个数,为可选项

fid 为文件句柄

size 为可选项,缺省为读取整个文件,

若给出,则取值可以是:

N

读取 N 个数据到一个列向量

Inf

读取整个文件

[m,n]

读取 m ´ n 个数据到一个  m ´ n 矩阵中,按列存放

 

 

 

 

 

format 用来控制读取的数据格式,由 % 加上格式符组成,下表中是常见的格式符,在 % 之后可以加上数据宽度,如 %12d

多个文本文件txt的批量读取程序

c

字符型

g

浮点数(自动)

d

十进制整数

o

八进制

e

浮点数(科学计数法)

s

字符串

f

浮点数(小数形式)

x

十六进制

 

 

 

 

 

 

 

 

9、文本文件的写入

count=fprintf(fid,format,输出变量列表)

  • 将输出变量按指定的格式写入文件中
  • 若省略 fid,则表示在屏幕上输出
  • count 返回所写入的数据元素个数(可省)
  • format 以 % 开头,通常由以下几个部分组成:

 

l  fprintf 命令的格式说明符

c

字符型

g

浮点数(自动)

d

十进制整数

o

八进制

e

浮点数(科学计数法)

s

字符串

f

浮点数(小数形式)

x/X

十六进制

l  format 中还可以使用的特殊字符

\b

退后一格

\t

水平制表符

\f

换页

\\

反斜杠

\n

换行

''

单引号

\r

回车

%%

百分号

10、读写的定位

  • 打开文件读写数据时,需要判断和控制文件的读写位置,如数据是否读完,或者需要读写指定位置上的数据等。
  • 在读写文件时,Matlab 自动创建一个文件位置指针来管理和维护文件读写数据的起始位置。
  • Matlab 提供了几个文件位置指针定位操作函数:fseek、ftell 、 frewind 和 feof

Fseek:

status=fseek(fid,offset,origin)

fid 为文件句柄

offset 表示位置指针相对偏移的字节数,若为正表示向文件尾方偏移,若为负表示向文件头方向偏移

origin 表示位置指针移动的参照位置,有三种取值:

'cof' 表示当前位置,

 'bof' 表示文件的开始位置,

 'eof' 表示文件末尾;

若定位成功,status 返回值为 0,否则返回 -1

    ftell、frewind 和 feof:

返回值为从文件开始到指针当前位置的字节数:position=ftell(fid)

将位置指针返回到文件的起始位置:frewind(fid)

判断文件位置指针是否达到文件结束位置,若文件位置指针已在文件末尾,则返回 1,否则返回 0:eofstat=ftell(fid)

标签:文件,读取,浮点数,位置,Matlab,fid,操作,指针
From: https://www.cnblogs.com/bbhhh/p/17913205.html

相关文章

  • (精品)根据文件夹内的txt文本标题处理文件夹MJ数据
    功能介绍这个脚本是一个自动化的文件重命名工具,专门用于重命名图片文件。其主要功能如下:深度遍历指定目录:脚本能够遍历指定目录下的所有子文件夹,进行深度搜索。检测文本文件作为命名前缀:对于每个子文件夹,脚本会查找第一个.txt文件,并使用其文件名(不包括扩展名.txt)作为图片文......
  • 写一个MATLAB脚本删除一个.m文件的所有注释和空行,输出到一个新.m文件,文件名加上_modif
    请注意,这个脚本仅处理了最简单的情况,真正的Matlab代码可能包含更复杂的结构,如多行字符串、嵌套的字符串、转义字符等,处理这些情况可能需要更复杂的逻辑。%Specifytheinput.mfilenameinputFileName='originalScript.m';outputFileName=[inputFileName(1:end-2)'_modi......
  • NX 2306 打开文件-无法加载从重用库插入的标准件(使用当前搜索选项找不到文件,部件已卸
    【写在每个笔记前面:个人学习记录,如有错误,烦请指正,不胜感激。】   (今日内容源于  NX网-老叶)重新打开装配体,加载异常,有如下警告首先明确如下两点:1、组件的文件路径未改动2、组件的文件名称未改动其次最后一点:☆:装配加载选项:修改为“按照保存的”,官方解释如下图右。......
  • Git:submodule子模块操作
    一、子模块添加gitsubmoduleadd<url><path>gitsubmoduleaddhttps://github.com/../.gitthemes/MeiFixIt二、子模块更新gitsubmoduleupdate--remote--merge三、下载子模块同父模块一起下载子模块gitclone--recurse-submodules<repository-url>父模块......
  • Vue 大文件上传和断点续传的实现
    实现Vue大文件上传和断点续传需要掌握以下几个步骤:分片:将大文件分割成若干个小块,便于上传。一般采用Blob对象或ArrayBuffer来实现。上传:将分片文件上传到服务器。可以使用XMLHttpRequest、Fetch等工具进行上传。断点续传:如果上传失败或上传过程中断开连接,需要记录已上......
  • Matlab常用小技巧及部分快捷键
    Matlab常用小技巧一:1.m文件如果是函数,保存的文件名最好与函数名一致,这点都很清楚。不过容易疏忽的是,m文件名的命名尽量不要是简单的英文单词,最好是由大小写英文/数字/下划线等组成。原因是简单的单词命名容易与matlab内部函数名同名,结果会出现一些莫名其妙的错误。例如,写个m文件......
  • Matlab-三维视图的自动旋转
    %figure%plot3(...);%xlabel('X轴');%ylabel('Y轴');%zlabel('Z轴');%title('标题');%gridon%打开网格%%fori=1:2:360%%view(a,b):a是角度,b是仰视角%view(i,20);%pause(0.06);%end例子,show_3D.m:clearall;closeall......
  • 专业、便捷的跨网文件摆渡产品,需要具备哪些功能特性?
    为了确保内部核心资产的安全性,很多企业和机构都会选择将网络进行隔离划分,比如内外网隔离,办公网、研发网隔离等。但网络隔离后,在日常工作中,仍存在用户需求把文件数据从内网到外网,从办公网到研发网终端的文件摆渡业务需求。很多企业都会使用一些传输工具和方式,进行文件摆渡传输。......
  • python调用matlab
    官网链接:https://ww2.mathworks.cn/help/matlab/matlab_external/call-user-script-and-function-from-python.html?lang=enhttps://ww2.mathworks.cn/help/matlab/matlab_external/install-the-matlab-engine-for-python.html安装用于 Python 的 MATLAB 引擎API要在Pyt......
  • 用MATLAB实现遗传算法程序
    用MATLAB实现遗传算法程序/B2F.m , 658用MATLAB实现遗传算法程序/changes.m , 959用MATLAB实现遗传算法程序/cross.m , 1155用MATLAB实现遗传算法程序/de2bi.m , 1048用MATLAB实现遗传算法程序/F2B.m , 540用MATLAB实现遗传算法程序/f553.m , 538用MATLAB实现遗传算法......