matlab中常见txt文件读入的实用方法

转载 2004年08月18日 23:03:00

isbest.gif


感谢动力学与控制技术论坛的那些无私的奉献者!!
本帖特别感谢chinamaker,wolfer555,午夜流星,小人物小小等。

%小人物小小整理
% www.dytrol.com
% 2004.7.9

文件内容形式一(假定文件名为test1.txt):
你好
欢迎来到
动力学与控制技术论坛
www.dytrol.com
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 =

    '你好'
    '欢迎来到'
    '动力学与控制技术论坛'
    'www.dytrol.com'
方法二:
[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'
因以字符串的形式读入,所以有''。

文件内容形式二(假定文件名为test2.txt):

你好
1 11 111 1111
欢迎来到
2 22 222 2222
动力学与仿真控制论坛
3 33 333 3333
www.dytrol.com
4 44 444 4444
5 55 555 5555

说明:这种内容格式的文件用上面的方法是不行的。

以下是由chinamaker编写的一种方法:
fidin=fopen('test2.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





[此贴子已经被作者于2004-7-12 8:59:40编辑过]


----------------------------------------------
something gained,something lost
something lost,something gained

matlab中如何读取TXT数据文件

今天需要做个matlab读取txt文件,在网上收集了下,查到了几篇不错的,总结一下,方便大家(包括me)使用: 下面这个函数是取filein中的第line行写入fileout中的程序,如果想...
  • u014538491
  • u014538491
  • 2014年05月14日 20:42
  • 4771

Matlab中读取txt文件的几种方法

一、纯数据文件(没有字母和中文,纯数字) 对于这种txt文档,从matalb中读取就简单多了 例如test.txt文件,内容为“17.901 -1.1111 33.045        ...
  • zm1_1zm
  • zm1_1zm
  • 2016年11月25日 22:01
  • 14744

Matlab实现文件读写的几种方法(确实很好,不错)

Matlab有着强大的数据处理功能,经常需要从外部文件读取数据或将数据写到外部文件。Matlab和外部文件进行数据交换相关的命令,个人目前了解到的有以下几种。  (0)自己添加   你...
  • It_BeeCoder
  • It_BeeCoder
  • 2016年09月17日 15:18
  • 1486

Matlab中读取txt文件的几种方法

转自:http://www.360doc.com/content/12/0307/22/9053144_192599269.shtml 一、纯数据文件(没有字母和中文,纯数字) ...
  • zhuxiaoyang2000
  • zhuxiaoyang2000
  • 2012年03月07日 22:26
  • 216050

将Matlab中的矩阵写入txt文件的方法

将Matlab中的矩阵写入txt文件的方法 将Matlab中的矩阵写入txt文件的方法 文件操作是一种重要的输入输出方式,即从数据文件读取数据或将结果写入数据文件。MATLAB提供了一系列...
  • qing101hua
  • qing101hua
  • 2015年06月27日 23:54
  • 4911

对MATLAB读取同一路径下多个txt或mat文件方法探讨

一、读取同一路径下所有txt文件的程序: function data = readall_txt(path) %   READALL_TXT    读取所有文件 %   DATA = READALL_...
  • u011938931
  • u011938931
  • 2016年01月13日 22:14
  • 329

MATLAB中矩阵写入txt文件的方法

本文非原创,转自:http://apps.hi.baidu.com/share/detail/34555626,感谢原作者!     文件操作是一种重要的输入输出方式,即从数据文件读取数据或将结果...
  • yuechuxuan
  • yuechuxuan
  • 2017年07月21日 15:31
  • 94

Matlab中读取txt文件的几种方法

转自:http://www.360doc.com/content/12/0307/22/9053144_192599269.shtml 一、纯数据文件(没有字母和中文,纯数字) ...
  • qing101hua
  • qing101hua
  • 2016年07月15日 11:56
  • 4423

Matlab中读取txt文件的几种方法

一、纯数据文件(没有字母和中文,纯数字) 对于这种txt文档,从matalb中读取就简单多了 例如test.txt文件,内容为“17.901 -1.1111 33.045        ...
  • zm1_1zm
  • zm1_1zm
  • 2016年11月25日 22:01
  • 14744

将Matlab中的矩阵写入txt文件的方法

文件操作是一种重要的输入输出方式,即从数据文件读取数据或将结果写入数据文件。MATLAB提供了一系列低层输入输出函数,专门用于文件操作。 1、文件的打开与关闭 1)打开文件 在读写文件之前,必须...
  • aihali
  • aihali
  • 2015年03月22日 22:18
  • 272
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:matlab中常见txt文件读入的实用方法
举报原因:
原因补充:

(最多只允许输入30个字)