



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
转载,网上摘录)在使用MATLAB遇到问题时,在网上搜索到很多有用的知识,比起看帮助文件的英文要省力的多了matlab文件操作文件操作是一种重要的输入输出方式,即从数据文件读取数据或将结果写入数据文件。MATLAB提供了一系列低层输入输出函数,专门用于文件操作。1、文件的打开与关闭1)打开文件在读写文件之前,必须先用fopen函数打开或创建文件,并指定对该文件进行的操作方式。fopen函数的调用格式为:fid=fopen(文件名,打开方式)说明:其中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)。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(字符型)等,在%与格式符之间还可以插入附加格式说明符,如数据宽度说明等。size为可选项,决定矩阵A中数据的排列形式,它可以取下列值:N(读取N个元素到一个列向量)、inf(读取整个文件)、M,N(读数据到MN的矩阵中,数据按列存放)。2)写文本文件fprintf函数可以将数据按指定格式写入到文本文件中。其调用格式为:fprintf(fid,format,A)说明:fid为文件句柄,指定要写入数据的文件,format是用来控制所写数据格式的格式符,与fscanf函数相同,A是用来存放数据的矩阵。例6.9 创建一个字符矩阵并存入磁盘,再读出赋值给另一个矩阵。 a=string; fid=fopen(d:char1.txt,w); fprintf(fid,%s,a); fclose(fid); fid1=fopen(d:char1.txt,rt); fid1=fopen(d:char1.txt,rt); b=fscanf(fid1,%s)b =stringmatlab读txt文件fid=fopen(fx.txt,r);%得到文件号f,count=fscanf(fid,%f %f,12,90);%把文件号1的数据读到f中。其中f是12 90的矩阵%这里%f %f表示读取数据的形势,他是按原始数据型读出fclose(fid);%关闭文件另外有的txt文件还可以用load来打开其语句为f=load(fx.txt)我个人觉得用第一种方式较好。因为有些时候,特别是fx.txt 的一行种有多个数据时用load就比较麻烦了。 字符串操作%字符串处理a= a;b=b b;c=cccc;m=%获取字符串长度length(a) %连接两个字符串,每个字符串最右边的空格被裁切d=strcat(a,c)length(d)%连接多行字符串,每行长度可不等,自动把非最长字符串最右边补空格 %使与最长字符串相等,会忽略空字符串e=strvcat(a,b,m)size(e)%char连接,空字符串会被空格填满f=char(a,b,m)size(f)%strcmp 比较两个字符串是否完全相等,是,返回真,否则,返回假%strncmp 比较两个字符串前n个字符是否相等,是,返回真,否则,返回假%strcmpi 比较两个字符串是否完全相等,忽略字母大小写%strncmpi 比较两个字符串前n个字符是否相等,忽略字母大小写%isletter 检测字符串中每个字符时否属于英文字母%isspace 检测字符串中每个字符是否属于格式字符(空格,回车,制表,换行符等)%isstrprop 检测字符每一个字符是否属于指定的范围a=d sdsdsd 15#;b=isletter(a)c=isspace(a)%字符串替换和查找 %strrep进行字符串替换,区分大小写% strrep(str1,str2,str3)% 它把str1中所有的str2字串用str3来替换%strfind(str,patten) 查找str中是否有pattern,返回出现位置,没有出现返回空数组%findstr(str1,str2) 查找str1和str2中,较短字符串在较长字符串中出现的位置,没有出现返回空数组%strmatch(patten,str) 检查patten是否和str最左侧部分一致%strtok(str,char) 返回str中由char指定的字符串前的部分和之后的部分,mm=youqwelcome;mm1,mm2=strtok(mm,q)% blanks(n) 创建有n个空格组成的字符串% deblank(str) 裁切字符串的尾部空格% strtrim(str) 裁切字符串的开头和尾部的空格,制表,回车符% lower(str) 将字符串中的字母转换成小写% upper(str) 将字符串中的字母转换成大写%sort(str) 按照字符的ASCII值对字符串排序%num2str 将数字转换为数字字符串%str2num 将数字字符串转换为数字%mat2str 将数组转换成字符串%int2str 把数值数组转换为整数数字组成的字符数组可以用textscan读取需要转化格式的数据。(譬如我,需要将某些行转化为字符串,某些行维持原来的数据格式。)例: 我的原始数据为:1.txt ,里面内容如下: 20040202.112617 04020220 0.9 359.00 278.70 20040212.235846 04021308 0.9 211.00 198.90 20040223.234829 04022408 0.9 105.00 134.40 20040229.112810 04022920 0.9 32.00 90.80 20040323.112724 04032320 0.9 9.00 37.40 前面两列我想读成字符串,后面三列读为数据: fid msg = fopen(1.txt); vars = textscan(fid,%s%s%f%f%f,5 inf); fclose(fid); 这个结果会得到 vars 变量为一个1*5cell组成的矩阵
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年数据分析师笔试重点考点及模拟题集
- 2025年政府会计准则实施能力考试重点题库
- 2025年宠物营养师营养伦理方向笔试模拟题及答案
- 领导谢辞致词模板
- 2025年安全员岗前考核模拟题含解析
- 2025年人力资源管理师职业能力测评试卷及答案解析
- 2025年协管员岗位面试模拟题及答案
- 2025年烹饪厨艺技能考试试题及答案解析
- 2025年考古发掘工程师专业水平评定试题及答案解析
- 2025年健身教练专业知识考核试题及答案解析
- 2025年北京市中考语文真题(含答案)
- IATF16949质量体系年度过程指标范例
- 护理伦理与卫生法律法规高职PPT完整全套教学课件
- 广东建筑材料检测员上岗考试卷
- 部编六年级语文上册一二单元教案
- 游泳社会指导员专项理论考试复习题库汇总(附答案)
- 工程量确认单
- 先进制造技术第1章
- JJG 966-2010手持式激光测距仪
- 中班语言绘本《点》课件
- 大数据与金融课件
评论
0/150
提交评论