永发信息网

想用matlab读取txt文件,怎么实现

答案:2  悬赏:30  手机版
解决时间 2021-12-30 19:08
想用matlab读取txt文件,怎么实现
每一行的值都不同,比如说第一行的量做赋给一变量
第二行的量做数组
怎么实现?
最佳答案

输入输出方式,即从数据文件读取数据或将结果写入数据文件.MATLAB提供了一系列低层输入输出函数,专门用于文件操作.
1、文件的打开与关闭
1)打开文件
在读写文件之前,必须先用fopen函数打开或创建文件,并指定对该文件进行的操作方式.fopen函数的调用格式为:
fid=fopen(文件名,‘打开方式’)
说明:其中fid用于存储文件句柄值,如果返回的句柄值大于0,则说明文件打开成功.文件名用字符串形式,表示待打开的数据文件.常见的打开方式如下:
 ‘r’:只读方式打开文件(默认的方式),该文件必须已存在.
 ‘r+’:读写方式打开文件,打开后先读后写.该文件必须已存在.
 ‘w’:打开后写入数据.该文件已存在则更新;不存在则创建.
 ‘w+’:读写方式打开文件.先读后写.该文件已存在则更新;不存在则创建.
 ‘a’:在打开的文件末端添加数据.文件不存在则创建.
 ‘a+’:打开文件后,先读入数据再添加数据.文件不存在则创建.
另外,在这些字符串后添加一个“t”,如‘rt’或‘wt+’,则将该文件以文本方式打开;如果添加的是“b”,则以二进制格式打开,这也是fopen函数默认的打开方式.
2)关闭文件
文件在进行完读、写等操作后,应及时关闭,以免数据丢失.关闭文件用fclose函数,调用格式为:
sta=fclose(fid)
说明:该函数关闭fid所表示的文件.sta表示关闭文件操作的返回代码,若关闭成功,返回0,否则返回-1.如果要关闭所有已打开的文件用fclose(‘all’).
2、二进制文件的读写操作
1)写二进制文件
fwrite函数按照指定的数据精度将矩阵中的元素写入到文件中.其调用格式为:
COUNT=fwrite(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](读数据到M×N的矩阵中,数据按列存放).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](读数据到M×N的矩阵中,数据按列存放).
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 =
string
matlab读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
就比较麻烦了.


全部回答
这个问题的回答的对
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
异地恋第一次见面,他自己机票来我的城市,但
什么动植物是四川邻水县的发源地
连云港市赣榆区管理部地址有知道的么?有点事
混凝土有大石子和小石子区分,各有什么用途
阳历1990年3月12日是什么星座
大益普洱茶不管生茶还是熟茶都是什么原料做的
做空白滴定实验时颜色较深无法判断终点,需要
我的路由器怎么从2.4G信号改为5G的信号,我的
初中数学怎样提高
卜算子 咏梅 的仿写
万达影院兼职为什么需要在校证明
隐私有多重要
小明和小亮分别从游泳池的左右两边缘同时出发
崇安区江海街道慈善超市在哪里啊,我有事要去
求宁次和我爱罗长大的照片!!!长大的!!!
推荐资讯
跨行转账迟迟不到账,怎么办
“追求真理比占有真理更宝贵”。德国诗人莱辛
长沙市疾控中心办理了健康证,遗失了该怎么补
请问钻石除了圆形的,还有什么形状的啊?哪一个
颐一共多少笔画
My friend Karen and I were always together
烧烤火锅店名字
描写闺女的成语
怎么取飞机托运的行李
单选题高山上煮不熟饭,是因为A.气压大,沸点
如何把数组 快速写入excel表中
判断题平均数不受偏大数据的影响,中位数容易
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?