-
matlab读取文本文件
2013-04-13 22:39:27matlab 中如何读取文本文件 今天需要做个matlab读取txt文件,在网上收集了下,查到了几篇不错的,总结一下,方便大家(包括me)使用: 下面这个函数是取filein中的第line行写入fileout中的程序,如果想实现取特定...matlab 中如何读取文本文件
今天需要做个matlab读取txt文件,在网上收集了下,查到了几篇不错的,总结一下,方便大家(包括me)使用:
下面这个函数是取filein中的第line行写入fileout中的程序,如果想实现取特定几行,只要稍微修改一下就可以。
function dataout=dataread(filein,fileout,line)
fidin=fopen(filein,'r');
fidout=fopen(fileout,'w');
nline=0;
while ~feof(fidin) % 判断是否为文件末尾
tline=fgetl(fidin); % 从文件读行
nline=nline+1;
if nline==line
fprintf(fidout,'%s\n',tline);
dataout=tline;
end
end
fclose(fidin);
fclose(fidout);
%%%%%%%%%%%%%%%%%%%%%%%%%%
调用格式:dataout=dataread(filein,fileout,line)
如果你的txt文件数据是矩阵形式的,而没有其它的文字,用下面的程序就可以读任意行任意列的数据
a=textread('ll.txt');
t=a(1:43,4:10);
1:43是1到43行,4:10是4到10列的数据,当然也可以只读一个数据,如果你的matlab没有textread函数,直接从mathworks网站下载就行。
根据txt文档不同种类介绍不同的读取数据方法
转自:http://hi.baidu.com/youngbrave/blog/item/878db31fcd4f220f304e15bb.html
一、纯数据文件(没有字母和中文,纯数字)
对于这种txt文档,从matalb中读取就简单多了
例如test.txt文件,内容为“17.901 -1.1111 33.045
17.891 -1.1286 33.045
17.884 -1.1345 33.045”
可以在command window中输入load test.txt ,然后就会产生一个test的数据文件,内容跟test.txt中的数据一样;另一种方法是在file/import data....../next/finish 也可产生一个叫test的数据文件。
二、中英文和数据如test1.txt
“你好
欢迎来到
振动论坛
vib.hit.edu.cn
1 11 111 1111
2 22 222 2222
3 33 333 3333
4 44 444 4444
5 55 555 5555”
这样的文件怎么读入数据呢?
方法有多种,现举两个比较简单实用的。
方法一:
file/import data....../next/finish
>> whos
Name Size Bytes Class
data 5x4 160 double array
textdata 4x1 300 cell array
Grand total is 54 elements using 460 bytes
>> data
data =
1 11 111 1111
2 22 222 2222
3 33 333 3333
4 44 444 4444
5 55 555 5555
>> textdata
textdata =
'你好'
'欢迎来到'
'振动论坛'
'vib.hit.edu.cn'
方法二:
[a1,a2,a3,a4]=textread('test1.txt','%s%s%s%s','headerlines',4)
说明:%s可以是其他形式,跟读入的数据类型有关,比如这里也可以用%n,%f等。
这里%s的个数和[a1,a2,a3,a4]对应。
>> [a1,a2,a3,a4]=textread('test1.txt','%s%s%s%s','headerlines',4)
a1 =
'1'
'2'
'3'
'4'
'5'
a2 =
'11'
'22'
'33'
'44'
'55'
a3 =
'111'
'222'
'333'
'444'
'555'
a4 =
'1111'
'2222'
'3333'
'4444'
'5555'
因以字符串的形式读入,所以有''。
————————————————————————————————
三、中文数据 英文 混乱如test.txt
你好
1 11 111 1111
欢迎来到
2 22 222 2222
振动论坛
3 33 333 3333
vib.hit.edu.cn
4 44 444 4444
5 55 555 5555
说明:这种内容格式的文件用上面的方法是不行的。
以下是由chinamaker编写的一种方法:
fidin=fopen('test.txt'); % 打开test2.txt文件
fidout=fopen('mkmatlab.txt','w'); % 创建MKMATLAB.txt文件
while ~feof(fidin) % 判断是否为文件末尾
tline=fgetl(fidin); % 从文件读行
if double(tline(1))>=48&&double(tline(1))<=57 % 判断首字符是否是数值
fprintf(fidout,'%s\n\n',tline); % 如果是数字行,把此行数据写入文件MKMATLAB.txt
continue % 如果是非数字继续下一次循环
end
end
fclose(fidout);
MK=importdata('MKMATLAB.txt'); % 将生成的MKMATLAB.txt文件导入工作空间,变量名为MK,实际上它不显示出来
>> MK
MK =
1 11 111 1111
2 22 222 2222
3 33 333 3333
4 44 444 4444
5 55 555 5555
-
Matlab读取txt文本文件总结
2017-05-05 09:40:55读取文本文件的方法很多,如load, textrad等,每个方法读取都有自己的规则,本人根据经验总结一二: (1)、load 方法加载的必须是纯数字的,如果中间夹杂了字母或者汉字,则会报错。如下: txtFullPath='E:\Test\...读取文本文件的方法很多,如load, textread等,每个方法读取都有自己的规则,本人根据经验总结一二:
(1)、load 方法加载的必须是纯数字的,如果中间夹杂了字母或者汉字,则会报错。如下:
txtFullPath='E:\Test\S201705041126455898100.txt'; %如果有非数字存在
data=load(txtFullPath);Error using load:Unknown text on line number 1 of ASCII file E:\S201705041126455898100.txt "V01000“
-
Matlab读取txt文件
2019-08-22 15:12:17在控制器里将数据实时保存到txt文件,之后用Matlab读取txt文件里的数据,画出图像进行分析。 我觉得这一步是很好的。 一、常用方法: 1、load Data = load("filename.txt"); 该函数只能加载仅含有数字的...在控制器里将数据实时保存到txt文件,之后用Matlab读取txt文件里的数据,画出图像进行分析。
我觉得这一步是很好的。
一、常用方法:
1、load
Data = load("filename.txt");
该函数只能加载仅含有数字的文本文件,如果文档中夹杂着字母或者文字,就会报错。
2、importdata
Data = importdata("filename.txt");
既可以读取数据又可以读取字符:Data.data矩阵里存放的是纯数字,Data.textdata矩阵里是以文本形式存放的所有数据。
3、textread
详见文章:textread详解
-------------------------------------------------------------------------------------------------------------------------
二、Demo
建立”001.txt“文件,输出0-9,用空格隔开。
建立matlab脚本文件,画一个txt里变量随时间0-9变化的图像,程序如下
y=load('001.txt'); t=0:1:9; //从1到9,间隔为1 plot(t,y); //画图像,横轴为t,纵轴为y
显示图像如下图
注意:plot函数的两个输入参数必须长度相同,即横轴和纵轴的数目要相同。
-
matlab中读文件的行数_matlab 中如何读取文本文件
2020-12-20 03:20:491、matlab 中如何读取文本文件今天需要做个matlab读取txt文件,在网上收集了下,查到了几篇不错的,总结一下,方便大家(包括me)使用:下面这个函数是取filein中的第line行写入fileout中的程序,如果想实现取特定几行...《matlab 中如何读取文本文件》由会员分享,可在线阅读,更多相关《matlab 中如何读取文本文件(8页珍藏版)》请在人人文库网上搜索。
1、matlab 中如何读取文本文件今天需要做个matlab读取txt文件,在网上收集了下,查到了几篇不错的,总结一下,方便大家(包括me)使用:下面这个函数是取filein中的第line行写入fileout中的程序,如果想实现取特定几行,只要稍微修改一下就可以。function dataout=dataread(filein,fileout,line)fidin=fopen(filein,r);fidout=fopen(fileout,w);nline=0;while feof(fidin) % 判断是否为文件末尾 tline=fgetl(fidin); % 从文件读行 nline=nline+。
2、1; if nline=linefprintf(fidout,%sn,tline);dataout=tline;endendfclose(fidin);fclose(fidout);%调用格式:dataout=dataread(filein,fileout,line) 如果你的txt文件数据是矩阵形式的,而没有其它的文字,用下面的程序就可以读任意行任意列的数据a=textread(ll.txt);t=a(1:43,4:10);1:43是1到43行,4:10是4到10列的数据,当然也可以只读一个数据,如果你的matlab没有textread函数,直接从mathworks网站下载就行。根据txt文。
3、档不同种类介绍不同的读取数据方法转自:http:/hi.baidu.com/youngbrave/blog/item/878db31fcd4f220f304e15bb.html一、纯数据文件(没有字母和中文,纯数字)对于这种txt文档,从matalb中读取就简单多了例如test.txt文件,内容为“17.901 -1.1111 33.04517.891 -1.1286 33.04517.884 -1.1345 33.045”可以在command window中输入load test.txt ,然后就会产生一个test的数据文件,内容跟test.txt中的数据一样;另一种方法是在file/imp。
4、ort data./next/finish 也可产生一个叫test的数据文件。二、中英文和数据如test1.txt“你好欢迎来到振动论坛vib.hit.edu.cn1 11 111 11112 22 222 22223 33 333 33334 44 444 44445 55 555 5555”这样的文件怎么读入数据呢?方法有多种,现举两个比较简单实用的。方法一:file/import data./next/finish whosName Size Bytes Classdata 5x4 160 double arraytextdata 4x1 300 cell arrayGrand tota。
5、l is 54 elements using 460 bytes datadata =1 11 111 11112 22 222 22223 33 333 33334 44 444 44445 55 555 5555 textdatatextdata = 你好欢迎来到振动论坛vib.hit.edu.cn方法二:a1,a2,a3,a4=textread(test1.txt,%s%s%s%s,headerlines,4)说明:%s可以是其他形式,跟读入的数据类型有关,比如这里也可以用%n,%f等。这里%s的个数和a1,a2,a3,a4对应。 a1,a2,a3,a4=textread(test1.t。
6、xt,%s%s%s%s,headerlines,4)a1 = 12345a2 = 1122334455a3 = 111222333444555a4 = 11112222333344445555因以字符串的形式读入,所以有。三、中文数据 英文 混乱如test.txt你好1 11 111 1111欢迎来到2 22 222 2222振动论坛3 33 333 3333vib.hit.edu.cn4 44 444 44445 55 555 5555说明:这种内容格式的文件用上面的方法是不行的。以下是由chinamaker编写的一种方法:fidin=fopen(test.txt); % 打开test2.t。
7、xt文件 fidout=fopen(mkmatlab.txt,w); % 创建MKMATLAB.txt文件while feof(fidin) % 判断是否为文件末尾 tline=fgetl(fidin); % 从文件读行 if double(tline(1)=48&double(tline(1) MKMK =1 11 111 11112 22 222 22223 33 333 33334 44 444 44445 55 555 5555Matlab中从文件夹中批量读取文件的做法function read_data=batch_read_file(file_type);% % 可以读取的文件中,。
8、若有列数不相同的,则补 nan% 数据文件中只能是数字% *.xls 文件只能是英文或数字命名% 批量读数据的程序 注,只能读取 *.txt类文件,且文件必须有后缀名% read_data_A=batch_read_file(*.txt)% read_data_A=batch_read_file(*.xls)% file_type为文件的格式% 返回值 read_data 为元胞数值,保存谋取到的数据% 对 xls 文件的说明:% xls 文件以文件名升序排序% xls 文件只能容许一个工作表,若有多个,则读取的为名字值最大的一个工作表% file_type=*.txt类 or file_ty。
9、pe=*.xls;% 示例:在数据文件中有如下内容 1.txt% 1 2 3.345 1234.5422 12% 1.2222 2.3333 3.4444% 1 2 3 4 5 6 7 8 9% 读出的数据是一个 (3,9)的矩阵 空缺的部分为 nanfile_read=dir(file_type);% 获得要读取的文件列表%-+-XLS XLS XLS XLS XLS-+-% 在此段读取 *.xls 类文件if strcmp(file_type,*.xls)for i=1:length(file_read)file_namei=file_read(i).name;% 获取文件名的列表% 开始。
10、准备向从 xls 文件中读取数据read_datai=xlsread(file_namei); endelse%-+-TXT TXT TXT TXT TXT-+-% 在此段读取 *.txt 类文件for i=1:length(file_read)file_namei=file_read(i).name;fid=fopen(file_namei,r);% 开始准备向从文件中读取数据k=1;while feof(fid) % 这儿用fgetl似乎也没有错temp=fgets(fid); length_temp_data(k)=length(str2num(temp);% 求长度temp_read_。
11、dataik=str2num(temp);% 写%k=k+1;end%-max_row=max(length_temp_data);% 求最大的长度,以确定补 nan 的个数%for j=1:k-1len=length(temp_read_dataij);if lenmax_rowtemp_read_dataij(len:max_row)=nan;endread_datai(j,:)=temp_read_dataij;end fclose(fid);endend本文来自CSDN博客,转载请标明出处:http:/blog.csdn.net/tianxiajianling/archive/2009/02/18/3905268.aspx。
-
MATLAB读取txt文本文件,整理后,每列按不同数据精度输出到txt文本文件中
2020-08-07 17:24:27因为用matlab比较多,之前也用matlab处理过txt文件(读取,然后在matlab里处理,不需要输出), 我就在想我先将数据读取到matlab,然后将自己需要的列组成了矩阵,输出到txt中。 1.读取 [time,CO2, PM25, PM10, ... -
Matlab读取excel文件中的数据
2018-07-24 15:08:58MATLAB读取excel中的数据 读取sheet1中的数据 [num,txt,raw]=xlsread('C:\Users\Administrator\Desktop\test\a.xls') %num返回的是excel中的数据,txt输出的是文本内容,row输出的是未处理数据 %一般情况下,... -
Matlab如何读取文本文件
2016-09-29 00:00:02MATLAB对于文本文件(txt)进行数据读取的技巧总结(经典中的经典)由于本帖内容较多,部分转自他人的心得,因此,凡转贴的地方仅用“----转----”标注,原作者略去,在此对所有原作者表示感谢! 特别说明:由于... -
Matlab读取TXT文本文件通用程序
2013-11-03 19:45:56% 从文件读入一行文本(不含回车键) if ~isempty(tline) % 判断是否空行 [m,n]=size(tline); flag=1; for i=1:n %判断一行中有没有相应的字符 if (tline(i)=='#') flag=0; break; end end if flag==1 % ... -
matlab 行 读取文件 跳过_MATLAB对于文本文件(txt)数据读取的技巧总结(经典中的经典)...
2021-01-12 09:31:45振动论坛原版主eight的经典贴对于文本文件(txt)进行数据读取的技巧总结(经典中的经典)由于本帖内容较多,部分转自他人的心得,因此,凡转贴的地方仅用“----转----”标注,原作者略去,在此对所有原作者表示感谢!... -
MATLAB对于文本文件(txt)数据读取的技巧总结
2016-07-12 08:56:06MATLAB对于文本文件(txt)进行数据读取的技巧总结(经典中的经典)由于本帖内容较多,部分转自他人的心得,因此,凡转贴的地方仅用“----转----”标注,原作者略去,在此对所有原作者表示感谢! 特别说明:由于大家... -
如何用matlab读取txt文件坐标
2020-07-19 10:50:27matlab读取文本文件函数。 1、load——适合读取纯数据文本; 2、importdata——只读取数据,自动省略数据格式前后的字符,超大文件不适合; 3、textread、textscan——适合读取行列规整的文本,会存到元胞中,可... -
matlab对于文本文件(txt)数据读取
2015-09-23 15:49:42将文件看作是由一个一个字节(byte) 组成的, 那么文本文件中的每个字节的最高位都是0,也就是说文本文件使用了一个字节中的七位来表示所有的信息,而二进制文件则是将字节中的所有位都用上了。这就是 两者的区别;... -
matlab 读取含有文本的txt
2016-12-19 00:15:111.没有文件头 列规整 4.09+4.10,4.09+4.10 4.09+4.10,4.09+4.10 4.09+4.09,4.09+4.09 4.09+4.09,4.09+4.09 4.09+4.09,4.09+4.10 4.09+4.09,4.09+4.09 4.09+4.09,4.09+4.09 4.09+4.10,4.09+4.10 4.09+... -
matlab读取txt文本
2019-01-24 14:22:00textread函数 ...文档:https://ww2.mathworks.cn/help/matlab/ref/textread.html?s_tid=doc_ta 之前为了读取txt中的数据,还专门用python写了将空格替换成逗号构造csv文件的程序,现在看来matlab有专门的读取函... -
matlab读取txt文件大全
2018-12-23 10:39:30文章参考:... 笔记留作个人科研使用,如有转载不允许,请告知,立刻删除. 文件读取方法 目标:读取每一行数字数目不同的纯文本文件。形如: 9 289734689 002874... -
MATLAB对于文本文件(txt)数据读取的技巧总结(经典中的经典)
2020-07-02 20:15:55MATLAB对于文本文件(txt)进行数据读取的技巧总结(经典中的经典)由于本帖内容较多,部分转自他人的心得,因此,凡转贴的地方仅用“----转----”标注,原作者略去,在此对所有原作者表示感谢! 特别说明:由于大家在 I... -
matlab 读取txt文件名称
2018-07-31 10:19:06%% 格式化文本的读操作 %只读形式打开txt文件 file_t = fopen('mytxt.txt','r'); %以十进制读取,且读取的数据自动排成一列,排的顺序为:先从第一行左边到第一行右边,然后排第二行 A = fscanf(file_t,... -
MATLAB中读取txt文本文件的常用函数
2020-08-11 17:53:23本博文源于matlab对文件的操作,旨在讲述常用的函数及其说明。 -
MATLAB读取csv文件里面既有文本又有数字的文件怎么读取。(可以不止csv文件,txt等文件都可以)
2020-03-10 14:30:42MATLAB读取csv文件里面既有文本又有数字的文件怎么读取 一.第一种方法用代码读取 用代码读取: (1)如果你要读的文件里面都是数字的话,用csvread函数,它有三种方式读取,但是它的缺点就是只能读取全是数值的文件... -
MATLAB读取txt文件的数据
2018-03-19 21:41:00该函数只能加载仅含有数字的文本文件,如果文档中夹杂着字母或者文字,就会报错。2、importdata Data = importdata("filename.txt"); 既可以读取数据又可以读取字符:Data.data矩阵里存放的是纯数字,... -
matlab读取sheet1_matlab读取excel文件的方法
2020-12-19 13:21:39matlab读取excel文件的方法matlab读取excel文件的方法:matlab读取Excel步骤1:读取sheet1中的所有数据我们以03版excel为例,假设excel中数据为matlab读取Excel步骤3:NUM返回的是excel中的数据,TXT输出的是文本... -
matlab 中如何读取文本文件
2012-12-27 21:15:15matlab 中如何读取文本文件 今天需要做个matlab读取txt文件,在网上收集了下,查到了几篇不错的,总结一下,方便大家使用: 下面这个函数是取filein中的第line行写入fileout中的程序,如果想实现取特定几行,只要...