Matlab之文件读写
你可以将txt的一些文本数据直接拷贝到matlab窗口,然后保存为mat文件,下次就可以直接采用load函数了。
ASCII文件也称为文本文件,这种文件在磁盘中存放时每个字符对应一个字节,用于存放对应的ASCII码。例如,数5678的存储形式为:
ASC码:00110101(5) 00110110(6) 00110111(7) 00111000(8) 共占用4个字节。ASCII码文件可在屏幕上按字符显示, 例如源程序文件就是ASCII文件,用DOS命令TYPE可显示文件的内容。由于是按字符显示,因此能读懂文件内容。
二进制文件是按二进制的编码方式来存放文件的。例如,数5678的存储形式为:00010110 00101110 (十进制5678转换成二进制)只占二个字节。二进制文件虽然也可在屏幕上显示,但其内容无法读懂。C系统在处理这些文件时,并不区分类型,都看成是字符流,按字节进行处理。输入输出字符流的开始和结束只由程序控制而不受物理符号(如回车符)的控制。因此也把这种文件称作“流式文件”。
Start
0 1 2
1 2
1 2 3 4
textdata: {2x1 cell}
1 2 NaN
1 2 3
4 NaN NaN
'Start'
1 2
1 2 3 4
End.
1 2 NaN
1 2 3
4 NaN NaN
1 2 3
1 2 3
End.
1 2
1 2 3
End.
fid2=fopen('numbers.txt','w');
while ~feof(fid1)
aline=fgetl(fid1);
if double(aline(1))>=48&&double(aline(1))<=57
fprintf(fid2,'%s\n',aline);
continue
end
end
fclose(fid2);
还有另外的方法
在MATLAB中,来读取和写入文本文件是很简单的事。下面,就来简单介绍下。如果有其他问题,请留言。
一、读取文本文件
思路:
1、用fopen来打开一个文件句柄
2、用fgetl来获得文件中的一行,如果文件已经结束,fgetl会返回-1
3、用fclose来关闭文件句柄
比如,TIM_Grid_Data.txt的内容如下:
0.1 0.1 151.031 -12.3144 -29.0245 3.11285
0.1 0.2 120.232 -2.53284 -8.40095 3.3348
0.1 0.3 136.481 -0.33173 -22.4462 3.598
0.1 0.4 184.16 -18.2706 -54.0658 2.51696
0.1 0.5 140.445 -6.99704 -21.2255 2.4202
0.1 0.6 127.981 0.319132 -29.8315 3.11317
0.1 0.7 106.174 -0.398859 -39.5156 3.97438
0.1 0.8 105.867 -20.1589 -13.4927 11.6488
0.1 0.9 117.294 -11.8907 -25.5828 4.97191
0.1 1 79.457 -1.42722 -140.482 0.726493
0.1 1.1 94.2203 -2.31433 -11.9207 4.71119
那么可以用下面的代码来读取该文本文件:
fid=fopen('TIM_Grid_Data.txt','r');
best_data=[];
while 1
tline=fgetl(fid);
if ~ischar(tline),break;end
tline=str2num(tline);
best_data=[best_data;tline];
end
fclose(fid);
这样文本文件中的内容就读入到了best_data中了。
写文件
思路:
1、用fopen打开一个文件句柄,但要用“w+”或“r+”等修饰符,具体参看help fopen
|
Open file for reading. |
|
Open or create new file for writing. Discard existing contents, if any. |
|
Open or create new file for writing. Append data to the end of the file. |
|
Open file for reading and writing. |
|
Open or create new file for reading and writing. Discard existing contents, if any. |
|
Open or create new file for reading and writing. Append data to the end of the file. |
|
Open file for appending without automatic flushing of the current output buffer. |
|
Open file for writing without automatic flushing of the current output buffer. |
2、用fprintf写入数据
3、用fclose来关闭文件句柄
比如下面的程序:
fid=fopen('Data.txt','a+');
fprintf(fid,'Hello,Tim\r\n');
fprintf(fid,'http://blog.sina.com.cn/pengtim');
a=rand(1,10);
fprintf(fid,'%g\r\n',a);
fclose(fid);
打开Data.txt文件,可以看到:
Hello,Tim
http://blog.sina.com.cn/pengtim0.655741
0.0357117
0.849129
0.933993
0.678735
0.75774
0.743132
0.392227
0.655478
0.171187
写文件:
Matlab之文件读写的更多相关文章
- 通过文件读写方式实现Matlab和Modelsim的联合仿真
虽然Modelsim的功能非常强大,仿真的波形可以以多种形式进行显示,但是当涉及到数字信号处理的算法的仿真验证的时候,则显得有点不足.而进行数字信号处理是Matlab的强项,不但有大量的关于数字信号处 ...
- MATLAB中文件的读写和数据的导入导出
http://blog.163.com/tawney_daylily/blog/static/13614643620111117853933/ 在编写一个程序时,经常需要从外部读入数据,或者将程序运行 ...
- C++文件读写函数之——fopen、fread和fwrite、fgetc和fputc、fgets和fputs、ftellf和fseek、rewind
由于最近经常使用到c语言中的读写文件,所以在此总结以下,方便以后查找. 在c中,文件操作都是由库函数来实现的,主要是分为读和写两种操作,以下详细讲解以下所有有关文件操作的邯郸乎的用法: //C++写入 ...
- mat文件读写
一起来学演化计算-mat文件读写 觉得有用的话,欢迎一起讨论相互学习~Follow Me Matlab读取和保存mat文件数据 在matlab命令行中输入save 变量名a,将a变量保存在新生成的a. ...
- 【Win 10 应用开发】文件读写的三种方案
本文老周就跟伙伴们探讨一下关于文件读写的方法.总得来说嘛,有三种方案可以用,而且每种方案都各有特色,也说不上哪种较好.反正你得记住老祖宗留给我们的大智慧——事无定法,灵活运用者为上. OK,咱们开始吧 ...
- Matlab 读取文件夹中所有的bmp文件
将srcimg文件下的bmp文件转为jpg图像,存放在dstimg文件夹下 str = 'srcimg'; dst = 'dstimg'; file=dir([str,'\*.bmp']); :len ...
- c语言文件读写操作总结
C语言文件读写操作总结 C语言文件操作 一.标准文件的读写 1.文件的打开 fopen() 文件的打开操作表示将给用户指定的文件在内存分配一个FILE结构区,并将该结构的指针返回给用户程序,以后用户程 ...
- ActionScript 3.0入门:Hello World、文件读写、数据存储(SharedObject)、与JS互调
近期项目中可能要用到Flash存取数据,并与JS互调,所以就看了一下ActionScript 3.0,现把学习结果分享一下,希望对新手有帮助. 目录 ActionScript 3.0简介 Hello ...
- Android 文件读写
一.分类 文件读写作为Android四大数据存储方式之一,又分为内部存储和外部存储两种: (1)内部存储(Internal storage): 总是可用. 文件默认情况存储在/data/data/包名 ...
随机推荐
- C++100款开源界面库[转]
(声明:Alberl以后说到开源库,一般都是指著名的.或者不著名但维护至少3年以上的.那些把代码一扔就没下文的,Alberl不称之为开源库,只称为开源代码.这里并不是贬低,像Alberl前面那个系列的 ...
- 第一章TP-Link 703N刷OpenWrt
1)下载编译好的固件 openwrt-ar71xx-generic-tl-wr703n-v1-squashfs-factory.bin openwrt-ar71xx-generic-tl-wr703n ...
- preventDefault stopPropagation??
棒棒哒~ event.preventDefault https://developer.mozilla.org/zh-CN/docs/Web/API/Event/preventDefault stop ...
- chart.js接口开发:X轴步长和Labels旋转角
一. 当初为什么选择chart.js 当初项目使用库是Zepto,Zepto能支持的chart处理库太少.也是为了使得项目比较轻量化,所以选择了chart.js. 但是最后的显示结果实在太差,放弃了c ...
- 题外话(简识UML语言)
PS:“不积小流无以成为江河,不积跬步无以至千里”,学习也好,吃饭也罢,做任何事情都需要一步一个脚印,逐步积累过程,最后才会知识越来越丰富,吃的越饱… 在学习过程中用到了一些框图,用于绘画框图的语言数 ...
- Docker 入门教程
几个月以前,红帽(Red Hat)宣布了在 Docker 技术上和 dotCloud 建立合作关系.在那时候,我并没有时间去学习关于 Docker 的知识,所以在今天,趁着这个 30 天的挑战,我决定 ...
- [Javascript] Promise-based functions should not throw exceptions
Source You can also start a chain of then() method calls via Promise.resolve() and execute the synch ...
- MVC4数据注释与验证 2
Using Validation Annotations Required必须项验证属性 [Required] public string FirstName { get; set; } [Requi ...
- java中的包有那些 ???
java.util工具包java.sql数据库包java.io输入输出流包java.net网络包java.lang基础包这些是基本的包,还有一些其他的例如集合,反射等的工具包,你可以去查一下java ...
- Docker 底层实现
基本架构 Docker 采用了 C/S架构,包括客户端和服务端. Docker daemon 作为服务端接受来自客户的请求,并处理这些请求(创建.运行.分发容器). 客户端和服务端既可以运行在一个机器 ...