精华内容
下载资源
问答
  • matlab读取文本文件

    千次阅读 2013-04-13 22:39:27
    matlab 中如何读取文本文件 今天需要做个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读取txt文件的数据
     

    展开全文
  • 1、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比较多,之前也用matlab处理过txt文件读取,然后在matlab里处理,不需要输出), 我就在想我先将数据读取matlab,然后将自己需要的列组成了矩阵,输出到txt中。 1.读取 [time,CO2, PM25, PM10, ...
  • Matlab读取excel文件中的数据

    万次阅读 多人点赞 2018-07-24 15:08:58
    MATLAB读取excel中的数据 读取sheet1中的数据 [num,txt,raw]=xlsread('C:\Users\Administrator\Desktop\test\a.xls') %num返回的是excel中的数据,txt输出的是文本内容,row输出的是未处理数据 %一般情况下,...
  • Matlab如何读取文本文件

    千次阅读 2016-09-29 00:00:02
    MATLAB对于文本文件(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 % ...
  • 振动论坛原版主eight的经典贴对于文本文件(txt)进行数据读取的技巧总结(经典中的经典)由于本帖内容较多,部分转自他人的心得,因此,凡转贴的地方仅用“----转----”标注,原作者略去,在此对所有原作者表示感谢!...
  • MATLAB对于文本文件(txt)进行数据读取的技巧总结(经典中的经典)由于本帖内容较多,部分转自他人的心得,因此,凡转贴的地方仅用“----转----”标注,原作者略去,在此对所有原作者表示感谢! 特别说明:由于大家...
  • matlab读取文本文件函数。 1、load——适合读取纯数据文本; 2、importdata——只读取数据,自动省略数据格式前后的字符,超大文件不适合; 3、textread、textscan——适合读取行列规整的文本,会存到元胞中,可...
  • matlab对于文本文件(txt)数据读取

    千次阅读 2015-09-23 15:49:42
    将文件看作是由一个一个字节(byte) 组成的, 那么文本文件中的每个字节的最高位都是0,也就是说文本文件使用了一个字节中的七位来表示所有的信息,而二进制文件则是将字节中的所有位都用上了。这就是 两者的区别;...
  • matlab 读取含有文本txt

    万次阅读 2016-12-19 00:15:11
    1.没有文件头 列规整 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:00
    textread函数 ...文档: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)进行数据读取的技巧总结(经典中的经典)由于本帖内容较多,部分转自他人的心得,因此,凡转贴的地方仅用“----转----”标注,原作者略去,在此对所有原作者表示感谢! 特别说明:由于大家在 I...
  • matlab 读取txt文件名称

    千次阅读 2018-07-31 10:19:06
    %% 格式化文本的读操作   %只读形式打开txt文件 file_t = fopen('mytxt.txt','r'); %以十进制读取,且读取的数据自动排成一列,排的顺序为:先从第一行左边到第一行右边,然后排第二行 A = fscanf(file_t,...
  • 本博文源于matlab文件的操作,旨在讲述常用的函数及其说明。
  • MATLAB读取csv文件里面既有文本又有数字的文件怎么读取 一.第一种方法用代码读取 用代码读取: (1)如果你要读的文件里面都是数字的话,用csvread函数,它有三种方式读取,但是它的缺点就是只能读取全是数值的文件...
  • MATLAB读取txt文件的数据

    万次阅读 2018-03-19 21:41:00
     该函数只能加载仅含有数字的文本文件,如果文档中夹杂着字母或者文字,就会报错。2、importdata Data = importdata("filename.txt"); 既可以读取数据又可以读取字符:Data.data矩阵里存放的是纯数字,...
  • matlab读取excel文件的方法matlab读取excel文件的方法:matlab读取Excel步骤1:读取sheet1中的所有数据我们以03版excel为例,假设excel中数据为matlab读取Excel步骤3:NUM返回的是excel中的数据,TXT输出的是文本...
  • matlab 中如何读取文本文件

    千次阅读 2012-12-27 21:15:15
    matlab 中如何读取文本文件 今天需要做个matlab读取txt文件,在网上收集了下,查到了几篇不错的,总结一下,方便大家使用: 下面这个函数是取filein中的第line行写入fileout中的程序,如果想实现取特定几行,只要...

空空如也

空空如也

1 2 3 4 5 ... 12
收藏数 227
精华内容 90
关键字:

matlab读取文本文件txt

matlab 订阅