Matlab文件操作.doc_第1页
Matlab文件操作.doc_第2页
Matlab文件操作.doc_第3页
Matlab文件操作.doc_第4页
Matlab文件操作.doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

MATLAB文件操作相关命令(2010-05-29 09:32:12) 转载原文标签: 转载分类:Matlab学习原文地址:MATLAB文件操作相关命令作者:short_smile输入输出语句(1) 实时交互输入输出input;keyboard(2)完全复制式的文件存取*1) savesavesave 文件名 xsave 文件名 x y zsave 文件名 x y z asciisave 文件名 x y z ascii doublesave 文件名 x y z ascii double tabssave 已有文件名 x y z append注1:save 的默认文件名是 fname.m注2:ascii 8字节 ascii码方式注3:ascii 16字节 ascii码方式注3:ascii double tabs 格式排列注3:append 续后存放*2) loadloadload 文件名注1:load 的默认文件名是 fname.m(3) 文件存取管理(建立与读写)文件管理(打开、写入、读出、关闭、定位),*1)“fopen”打开文件,赋予文件代号。语法1:FID= FOPEN(filename,permission)用指定的方式打开文件FID=+N(N是正整数):表示文件打开成功,文件代号是N.FID=-1: 表示文件打开不成功。FID在此次文件关闭前总是有效的。如果以读方式打开,matlab首先搜索工作目录,其次搜索matlab的其他目录,“permission”是打开方式参数。打开方式参数由以下字符串确定:r 读出w 写入(文件若不存在,自动创建)a 后续写入(文件若不存在,自动创建)r+读出和写入(文件应已存在)w+重新刷新写入,(文件若不存在,自动创建)a+后续写入(文件若不存在,自动创建)w 重新写入,但不自动刷新a 后续写入,但不自动刷新 文件的存储格式:文件打开的默认方式是:二进制。以文本方式打开,可以在方式参数“permission”中加入“t”文件将,如“rt”,“wt+”语法2:fid,message= FOPEN(filename,permission)FID=-1 ,文件打开不成功时,返回错误信息语法3:fid,message= FOPEN(filename,permission,machineformat)permission: 用指定的方式打开文件。machineformat: 指定读写时用的数据格式。数据格式(machineformat)取值如下native or nLocal machine format - the defaultieee-le or l IEEE 浮点数( little-endian byte ordering)ieee-be or b IEEE 浮点数( big-endian byte ordering)vaxdor d VAX D 浮点数 (VAX ordering)vaxgor g VAX g 浮点数 (VAX ordering)crayor c Cray 浮点数 (big-endian byte ordering)长型数据ieee-le.l64 or a IEEE 浮点数(little-endian byte ordering和64 位)long data typeiecc-be.l64 or s IEEE 浮点数(big-endian byte ordering和64 位)long data tw语法4: filename,permission,machineformat=fopen(fid)。查看打开文件的情况返回文件名、打开方式、文件格式。如果fid不存在,则返回变量。fid=fopen(allall)返回当前所有打开的文件。*2)“fwrite”以二进制形式,向文件写入数据。语法1:count=fwrite(fid,a,precision)将矩阵a 写入fid指向的打开的文件,matlab 自动将a元值转换成precision规定的精度(见后),写成列的形式。count是返回值,写入成功,返回写入数据个数,否则返回0。语法2:count=fwrite(fid,a,precision,skip)skip:取正整数n ,将矩阵a 以步长n 跳选数值写入fid指向的打开的文件,例如,a=1,2,3,4,5,6,7,8,9 ;skip=2; 则输入 _,_,3,_,_,6,_,_,9。这对非连续数据场,定长插入数据极有意义。*3)“fread”以二进制形式,从文件读出数据。语法1:a,count=fread(fid,size,precision)语法2:a,count=fread(fid,size,precision,skip)size:不指定 :到尾返回读。N : 读出N个数据,构成列向量。inf : 读出fid指向的打开的文件的全部数据。m,N : 读出N个数据,构成列向量,填入M*N矩阵precision(精度)precision(精度)规定了以浮点数、整型数、字符读出时字节数。matlab 的precision(精度)的表达式与c语言、fortran语言、是一致的。不规定precision(精度),则字符默认为: ucher、则数值默认为:双精度 。以下precision(精度)将保证读出具有一致的体积。MATLAB C or Fortran Descriphon(精度)char char*l 8 字节数,字符型ucharunsigned char8 字节数scharsigned char8 字节数,字符型int8 integer*18 字节数,整型数intl6integer*216 字节数,整型数.int32integer*432 字节数,整型数.int64integer*864 字节数,整型数uint8integer*l8 字节数uintl6 integer*216 字节数uint32 integer*432 字节数uint64 integer*864 字节数float32real*4 浮点数, 32 字节数float64real*8 浮点数, 32 字节数以下precision(精度)将不保证读出具有一致的体积。MATLAB C or FortranDescriphon(精度)shortshort 16 字节数,整型数intint 32 字节数,整型数long long32 (64) 字节数,整型数uShort Unsigned short16 字节数uint Unsigned int32 字节数ulongunsigned long 32 (64) 字节数floatfloat 浮点数, 32 字节数double double浮点数, 64 字节数以下precision(精度)规定读出指定的体积n。bitNN字节数,整型数1=N=64ubitN N字节数,1=N0:成功,n是读出数据个数。fid:文件号size :a的数据的格式N: 列向量inf: 读出文件全部数据m,N : 读出数据以M*N的格式放入变量名a内format :读出数据的格式format是字符形式,与C语言基本相同。字符形式中有“%”与字符集(d,i,o,u,x,e,f,g,s,c,)搭配构成。如: %s:单字符读 %c:读space字符例:s=fscanf(fid,%s) 返回一个字符。a=fscanf(fid,%5d) 返回一个五位十进制整数。*5)关闭文件 fclose语法1:fclose(fid)语法2:fclose(all)*6)向文件写数据 printf语法1:count=printf(fid,format,a,b,s,)例:x=0:0.1:1;y=x;exp(x);fid=fopen(exp.txt,w)fprintf(fid,%6.2 %12.8fn,y);计算结果:0.01.000000000.11.105170921.00 2.71828183*8) 指针放到文件头:frewind语法1:frewind(fid), hansi-font-family: Times New Roman; mso-ascii-font-family: Times New Roman以下precision(精度)规定读出指定的体积n。bitNN字节数,整型数1=N=64ubitN N字节数,1=N0:成功,n是读出数据个数。fid:文件号size :a的数据的格式N: 列向量inf: 读出文件全部数据m,N : 读出数据以M*N的格式放入变量名a内format :读出数据的格式format是字符形式,与C语言基本相同。字符形式中有“%”与字符集(d,i,o,u,x,e,f,g,s,c,)搭配构成。如: %s:单字符读 %c:读space字符例:s=fscanf(fid,%s) 返回一个字符。a=fscanf(fid,%5d) 返回一个五位十进制整数。*5)关闭文件 fclose语法1:fclose(fid)语法2:fclose(all)*6)向文件写数据 printf语法1:count=printf(fid,format,a,b,s,)例:x=0:0.1:1;y=x;exp(x);fid=fopen(exp.txt,w)fprintf(fid,%6.2 %12.8fn,y);计算结果:0.01.000000000.11.105170921.00 2.71828183 如何编写MATLAB程序才能实现对.TXT文档的读写(转载) 这网站真贱 收录于2010-07-23 阅读数:查看 收藏数:9公众公开 原文来源 tags: MATLAB修改以文找文推荐给好友 如何对文章标记,添加批注?如何编写MATLAB程序才能实现对.TXT文档的读写(2010-02-27 19:16:21) 标签: matlab文件读写杂谈分类:转载如何编写MATLAB程序才能实现对.TXT文档的读写呢?matlab文件操作文件操作是一种重要的输入输出方式,即从数据文件读取数据或将结果写入数据文件。MATLAB提供了一系列低层输入输出函数,专门用于文件操作。1、文件的打开与关闭1)打开文件在读写文件之前,必须先用fopen函数打开或创建文件,并指定对该文件进行的操作方式。fopen函数的调用格式为:fid=fopen(文件名,打开方式)说明:其中fid用于存储文件句柄值,如果返回的句柄值大于0,则说明文件打开成功。文件名用字符串形式,表示待打开的数据文件。常见的打开方式如下:? r:只读方式打开文件(默认的方式),该文件必须已存在。? r+:读写方式打开文件,打开后先读后写。该文件必须已存在。? w:打开后写入数据。该文件已存在则更新;不存在则创建。? w+:读写方式打开文件。先读后写。该文件已存在则更新;不存在则创建。? a:在打开的文件末端添加数据。文件不存在则创建。? a+:打开文件后,先读入数据再添加数据。文件不存在则创建。另外,在这些字符串后添加一个“t”,如rt或wt+,则将该文件以文本方式打开;如果添加的是“b”,则以二进制格式打开,这也是fopen函数默认的打开方式。2)关闭文件文件在进行完读、写等操作后,应及时关闭,以免数据丢失。关闭文件用fclose函数,调用格式为:stafclose(fid)说明:该函数关闭fid所表示的文件。sta表示关闭文件操作的返回代码,若关闭成功,返回0,否则返回-1。如果要关闭所有已打开的文件用fclose(all)。2、二进制文件的读写操作1)写二进制文件fwrite函数按照指定的数据精度将矩阵中的元素写入到文件中。其调用格式为:COUNTfwrite(fid,A,precision)说明:其中COUNT返回所写的数据元素个数(可缺省),fid为文件句柄,A用来存放写入文件的数据,precision代表数据精度,常用的数据精度有:char、uchar、int、long、float、double等。缺省数据精度为uchar,即无符号字符格式。例6.8 将一个二进制矩阵存入磁盘文件中。 a=1 2 3 4 5 6 7 8 9; fid=fopen(d:test.bin,wb) %以二进制数据写入方式打开文件fid = 3 %其值大于0,表示打开成功 fwrite(fid,a,double)ans = 9 %表示写入了9个数据 fclose(fid)ans = 0 %表示关闭成功2)读二进制文件fread函数可以读取二进制文件的数据,并将数据存入矩阵。其调用格式为:A,COUNT=fread(fid,size,precision)说明:其中A是用于存放读取数据的矩阵、COUNT是返回所读取的数据元素个数、fid为文件句柄、size为可选项,若不选用则读取整个文件内容;若选用则它的值可以是下列值:N(读取N个元素到一个列向量)、inf(读取整个文件)、M,N(读数据到MN的矩阵中,数据按列存放)。precision用于控制所写数据的精度,其形式与fwrite函数相同。3、文本文件的读写操作1)读文本文件fscanf函数可以读取文本文件的内容,并按指定格式存入矩阵。其调用格式为:A,COUNT=fscanf(fid,format,size)说明:其中A用来存放读取的数据,COUNT返回所读取的数据元素个数,fid为文件句柄,format用来控制读取的数据格式,由%加上格式符组成,常见的格式符有:d(整型)、f(浮点型)、s(字符串型)、c(字符型)等,在%与格式符之间还可以插入附加格式说明符,如数据宽度说明等。si

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论