数学建模社区-数学中国
标题:
MATLAB的文件读取操作求指导!
[打印本页]
作者:
建模新生
时间:
2014-2-23 13:07
标题:
MATLAB的文件读取操作求指导!
我找了好多的资料,都是没有详细介绍MATLAB的fid,fopen,fscanf等文件读取函数的详细用法啊!而且一旦带上“%sType%n%f%n%s”这样的参数就更不懂了。还望大神朋友们帮帮忙,发个什么资料的,好解救我啊!在此先谢过看帖的人了!
作者:
madio
时间:
2014-2-23 14:36
看帮助挺好的,有例子!
作者:
madio
时间:
2014-2-23 14:41
matlab中函数fscanf在文件读取方面的实例如下:
从文件中有格式地读数据 fscanf
语法1:[a,count]=fscanf(fid,format,size)
根据指定的格式从fid 文件按照格式format读出数据并按size的格式放入内存。
a :读出的数据放入内存的变量名
count :返回值。0:失败、n>0:成功,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,']') 返回一个五位十进制整数。
size是一个[m n]的向量,m为行,n为列(注意,这里读取的顺序是按列优先排列的,不明白的话可以看下面的例子),若n取inf表示读到文件末尾。
fid为fopen打开文件的返回值,
format是格式化参数(像printf、scanf)。
举个小例子:
内容: 13, 1, 3.4
3, 2.1, 23
1, 12, 2
4, 5.4, 6
现在为了读取001中的数据存在一个数组里,可以用如下方法
fid=fopen('001.txt');
data=fscanf(fid,'%f,%f,%f',[3,inf]) ;%这里得用单引号
fclose(fid);
这时data中的数据如下:
13 3 1 4
1 2.1 12 5.4
3.4 23 2 6
作者:
建模新生
时间:
2014-2-23 17:13
madio 发表于 2014-2-23 14:41
matlab中函数fscanf在文件读取方面的实例如下:
从文件中有格式地读数据 fscanf
万分感谢!!
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5