matlab如何循环读取文本文档

来自:    更新日期:早些时候
如何在matlab里用循环读取多个文本文档里的数据?~

办法是把这些文件的文件名按一定的规律命名,假如有一百个数据文件,则可以把这些文件分别命名为:filename1.txt,filename2.txt,fielname100.txt,在读取的时候则可以使用循环:
for i = 1:100
fileName = ['filename' num2str(i) '.txt'];
x = load(filiName);
end

  方法1:
  把文件的文件名按一定的规律命名,假如:filename1.txt,filename2.txt,...,fielname100.txt,在读取的时候则可以使用循环:
  for i = 1:100
  fileName = ['filename' num2str(i) '.txt'];
  x = load(filiName);
  end
  方法2:无需对数据文件的文件名进行修改,就是文件名无须有规律:
  A = dir(fullfile('d:/datafile','*.txt'));
  这个语句是把存放数据文件的目录d:/datafile下的所有txt文件列出来,并把这些文件名的信息存放到一个变量A中,A是一个结构体变量,只要对A进行循环就可以读取到所有文件的数据了。

如果你的txt命名规则,例如1.txt;2.txt这样就好办了,首先需要建立一个txt文件,存放你需要读取的txt文件的范围,可以有三种方式,第一种,要求你的txt是连续的1,2,3,,....N.txt这样的命名,这时候建立的txt里填N+1数值即可;第二种方式,可以指定范围,譬如从1.txt读到4.txt,就填写1 4即可;第三种方式,可以填写文件名序号,乱序都可以,譬如要读取1.txt,3.txt和5.txt,就填写1 3 5即可;剩下的就是运行下面的代码,打开新建的那个txt,就可以自动循环读取txt了,至于读取每个txt具体的工作就需要你自己在循环内进行操作了
[fname,fpath] = uigetfile( ...
{'*.txt','MAT-files (*.mat)'; ...
'*.mdl','Models (*.mdl)'; ...
'*.*', 'All Files (*.*)'}, ...
'Pick a file');
filename=[fpath,fname];
datnum=load(filename);
if(length(datnum)==1) %第一种方式
datnum(2) = datnum(1)-1;
datnum(1) = 1;
dataindex = 1:datnum(2);
elseif(length(datnum)==2) %第二种方式
dataindex = datnum(1):datnum(2);
datnum(1) = 1;
datnum(2) = length(dataindex);
else %第三种方式
dataindex = datnum;
datnum(2) = length(dataindex);
datnum(1) = 1;
end
Result = [];
for i=datnum(1):datnum(2)
% for i=datnum(1):300
filenameDat = fullfile(fpath,[int2str(dataindex(i)),'.txt']); %获取txt文件名

% fid=fopen(filenameDat,'r');
% X= fread(fid,1,'uchar->int');
X = load(filenameDat); %读取txt
Result(i) = X; %具体操作
% fclose(fid);
end
Result


matlab如何循环读取文本文档视频

相关评论:
  • 18862541013matlab怎么将一个文件夹下的多个文本里的数据一次提取出来
    胥征瑾首先你的文本是什么文件,如果是excel就使用xlsread,如果是txt就使用textread函数,其次还可以使用load,importdata等函数 然后是有多个文件的问题,如果你的文件名是有一定规律可循的,可以通过一个循环来读取,在循环中构造文件名。如果文件名没有规律可循,你可以使用dir函数得到这些文件名,然后一个个的...

  • 18862541013如何用MATLAB读取文本文件
    胥征瑾1、首先,这里举例自己先制作一个txtde 文本文件,如下面页面的内容。2、将文本文件放入matlab的工作路径,方便读取操作。例如,如果我的文本文件在桌面上,我可以将matlab的工作路径更改为桌面。具体方法是单击matlab当前工作路径后的省略号,弹出选项选择文件夹,然后选择相应的路径。3、接下来,我们使用...

  • 18862541013MATLAB 读写文本
    胥征瑾你的CG=200是一个标量,取length(CG)得到的是1。循环体里面只用到变量P,作为循环控制变量的范围最好写成和P相关,例如:for i=1:size(P,2)for j=1:size(P,1)...

  • 18862541013请教如何用matlab去读取内容不规则的文本文件的数据
    胥征瑾方法比较笨 fid=fopen('d:\\data.txt','r');NumLine=0;datax=[];datay=[];dataz=[];while(~feof(fid))lineinfo=fgetl(fid);%读一行数据 NumLine=NumLine+1;if (NumLine<=14) %去掉文件头,因为文件头中含有XYZ会对下面编程造成很大干扰,你这个要修改文件头的行数 continue;end if ...

  • 18862541013matlab while 1循环语句的意思
    胥征瑾第一段代码也可以改写成:fid = fopen('fgetl.m');tline = fgetl(fid);while ischar(tline) disp(tline) tline = fgetl(fid);endfclose(fid);二者作用是完全相同的。两段代码都是逐行读文本文件,差别只是第一个读出来之后就显示,而第二个读出来之后转换为数据存储到数组中而已。

  • 18862541013matlab中如何读取多个txt文件中的某一行的数据
    胥征瑾这样:实现思路:1. 逐一以文本形式打开文件 file(n).txt ;2. 逐行读出数据,并判断前9个字符是否 Timestamp ;3. 如是,在下一行接收数据存入结果并退出此文件;4. 如不是,继续往下读数据。pt = 'd:\\data\\'; % 数据路径 ff = 'file'; % 数据文件前缀 ext = '.txt'; % ...

  • 18862541013如何用matlab读取txt文档,并生成新的文档
    胥征瑾textread('filename','%n',n);读取txt的n行数据,返回一列 别忘了 加后缀 如textread('新建文本文档.txt','%n',n);至于是%n 或者%c 根据你所需要的内容而定 可查看 doc text

  • 18862541013你好,matlab读取多个txt文件的最后一行,并将这些行分别输出到另一个t...
    胥征瑾p) fn = [pt ff ss et]; fid = fopen('0.txt'); while ~feof(fid) tl = fgetl(fid); end fclose(fid); R(p) = str2num(tl);endnfn = [pt ff 'R.txt']; % 结果文件名save(nfn,'R','-ascii'); % 结果存为文本文件 R.txt ...

  • 18862541013Matlab如何读取文本文件
    胥征瑾1、首先,这里举例自己先制作一个txtde 文本文件,如下面页面的内容。2、将文本文件放入matlab的工作路径,方便读取操作。例如,如果我的文本文件在桌面上,我可以将matlab的工作路径更改为桌面。具体方法是单击matlab当前工作路径后的省略号,弹出选项选择文件夹,然后选择相应的路径。3、接下来,我们使用...

  • 18862541013matlab如何读取含有文本的TXT数据文件并存入多个数组?最好每一列数字...
    胥征瑾fid=fopen('data.txt');data=textscan(fid,'%*s %f %f %*s %f %*s %f %f %f %f %*s %f %*s %*s %*s',...'delimiter',',');format long data0=cell2mat(data)format short

  • 相关主题精彩

    版权声明:本网站为非赢利性站点,内容来自于网络投稿和网络,若有相关事宜,请联系管理员

    Copyright © 喜物网