matlab如何循环读取文本文档
来自: 更新日期:早些时候
如何在matlab里用循环读取多个文本文档里的数据?~
[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如何循环读取文本文档视频
相关评论:18862541013:matlab怎么将一个文件夹下的多个文本里的数据一次提取出来
胥征瑾首先你的文本是什么文件,如果是excel就使用xlsread,如果是txt就使用textread函数,其次还可以使用load,importdata等函数 然后是有多个文件的问题,如果你的文件名是有一定规律可循的,可以通过一个循环来读取,在循环中构造文件名。如果文件名没有规律可循,你可以使用dir函数得到这些文件名,然后一个个的...
18862541013:如何用MATLAB读取文本文件
胥征瑾1、首先,这里举例自己先制作一个txtde 文本文件,如下面页面的内容。2、将文本文件放入matlab的工作路径,方便读取操作。例如,如果我的文本文件在桌面上,我可以将matlab的工作路径更改为桌面。具体方法是单击matlab当前工作路径后的省略号,弹出选项选择文件夹,然后选择相应的路径。3、接下来,我们使用...
18862541013:MATLAB 读写文本
胥征瑾你的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 ...
18862541013:matlab while 1循环语句的意思
胥征瑾第一段代码也可以改写成:fid = fopen('fgetl.m');tline = fgetl(fid);while ischar(tline) disp(tline) tline = fgetl(fid);endfclose(fid);二者作用是完全相同的。两段代码都是逐行读文本文件,差别只是第一个读出来之后就显示,而第二个读出来之后转换为数据存储到数组中而已。
18862541013:matlab中如何读取多个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 ...
18862541013:Matlab如何读取文本文件
胥征瑾1、首先,这里举例自己先制作一个txtde 文本文件,如下面页面的内容。2、将文本文件放入matlab的工作路径,方便读取操作。例如,如果我的文本文件在桌面上,我可以将matlab的工作路径更改为桌面。具体方法是单击matlab当前工作路径后的省略号,弹出选项选择文件夹,然后选择相应的路径。3、接下来,我们使用...
18862541013:matlab如何读取含有文本的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
办法是把这些文件的文件名按一定的规律命名,假如有一百个数据文件,则可以把这些文件分别命名为: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进行循环就可以读取到所有文件的数据了。
[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如何循环读取文本文档视频
相关评论:
胥征瑾首先你的文本是什么文件,如果是excel就使用xlsread,如果是txt就使用textread函数,其次还可以使用load,importdata等函数 然后是有多个文件的问题,如果你的文件名是有一定规律可循的,可以通过一个循环来读取,在循环中构造文件名。如果文件名没有规律可循,你可以使用dir函数得到这些文件名,然后一个个的...
胥征瑾1、首先,这里举例自己先制作一个txtde 文本文件,如下面页面的内容。2、将文本文件放入matlab的工作路径,方便读取操作。例如,如果我的文本文件在桌面上,我可以将matlab的工作路径更改为桌面。具体方法是单击matlab当前工作路径后的省略号,弹出选项选择文件夹,然后选择相应的路径。3、接下来,我们使用...
胥征瑾你的CG=200是一个标量,取length(CG)得到的是1。循环体里面只用到变量P,作为循环控制变量的范围最好写成和P相关,例如:for i=1:size(P,2)for j=1:size(P,1)...
胥征瑾方法比较笨 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 ...
胥征瑾第一段代码也可以改写成:fid = fopen('fgetl.m');tline = fgetl(fid);while ischar(tline) disp(tline) tline = fgetl(fid);endfclose(fid);二者作用是完全相同的。两段代码都是逐行读文本文件,差别只是第一个读出来之后就显示,而第二个读出来之后转换为数据存储到数组中而已。
胥征瑾这样:实现思路:1. 逐一以文本形式打开文件 file(n).txt ;2. 逐行读出数据,并判断前9个字符是否 Timestamp ;3. 如是,在下一行接收数据存入结果并退出此文件;4. 如不是,继续往下读数据。pt = 'd:\\data\\'; % 数据路径 ff = 'file'; % 数据文件前缀 ext = '.txt'; % ...
胥征瑾textread('filename','%n',n);读取txt的n行数据,返回一列 别忘了 加后缀 如textread('新建文本文档.txt','%n',n);至于是%n 或者%c 根据你所需要的内容而定 可查看 doc text
胥征瑾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 ...
胥征瑾1、首先,这里举例自己先制作一个txtde 文本文件,如下面页面的内容。2、将文本文件放入matlab的工作路径,方便读取操作。例如,如果我的文本文件在桌面上,我可以将matlab的工作路径更改为桌面。具体方法是单击matlab当前工作路径后的省略号,弹出选项选择文件夹,然后选择相应的路径。3、接下来,我们使用...
胥征瑾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