Matlab读取txt文件中的数据(使用textread函数)[通俗易懂]

Matlab读取txt文件中的数据(使用textread函数)[通俗易懂]在使用Matlab处理数据时,我们经常需要读取txt文档,可以使用Matlab中强大的textread函数。它的基本语法是:[A,B,C,…]=textread(filename,format)[A,B,C,…]=textread(filename,format,N)其中filename就是文件名,format就是要读取的格式,A,B,C就是从文件中读取到的数据。中括号里面变量的…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺
在使用Matlab处理数据时,我们经常需要读取txt文档,可以使用Matlab中强大的textread函数。


它的基本语法是:


[A,B,C,...] = textread(filename,format)
[A,B,C,...] = textread(filename,format,N)
其中

filename就是文件名, format就是要读取的格式,A,B,C就是从文件中读取到的数据。
中括号里面变量的个数必须和format中定义的个数相同。 如果每N行相同格式的数据,可采用

[A,B,C,...] = textread(filename,format,N)的语法,读取N次。


举例如下:

例1:myfile.txt 中的内容如下:
    1 2 3 4
    5 6 7 8
    9 10 11 12
相应的语句为:
filename = '.\myfile.txt';
[data1,data2,data3,data4]=textread(filename,'%n%n%n%n');
或者为

filename = '.\myfile.txt';
[data1,data2,data3,data4]=textread(filename,'%n%n%n%n',3);





例2:myfile.txt 中的内容如下:
    1, 2, 3, 4
    5, 6, 7, 8
    9, 10, 11, 12
相应的语句为:
filename = '.\myfile.txt';
[data1,data2,data3,data4]=textread(filename,'%n%n%n%n',

'
delimiter
'

'
,
'
);
这里

delimiter指出分隔符,读数据的时候会自动跳过分隔符。






例3:myfile.txt 中的内容如下:
    % this a comment
    1, 2, 3, 4
    5, 6, 7, 8
    9, 10, 11, 12
相应的语句为:
filename = '.\myfile.txt';
[data1,data2,data3,data4]=textread(filename,'%n%n%n%n',

'
delimiter
'

'
,
'
,
'
headerlines
'
1
);
这里告诉textread跳过一开始的1行,1可以替换为任意你要跳过的行数。

例4:
myfile.txt 中的内容如下:

Sally Level1 12.34 45 Yes

相应语句为:

filename = ‘.\myfile.txt’;

[names, types, x, y, answer] = textread(filename , ‘%s %s %f %d %s’, 1) 

    ①如果要忽略12.34这个浮点数:[names, types, y, answer] = textread(filename , ‘%s %s %*f %d %s’, 1)。 %*f告诉textread跳过一个浮点数。

    ②如果要忽略Level,只读取后面的数字:[names, levelnum, x, y, answer] = textread(filename , … ‘%s Level%d %f %d %s’, 1) 


例5:myfile.txt 中的内容如下

    1,2,3,4,,6

    7,8,9,,11,12 

    想用nan替代为空的部分。语句如下:data = textread(‘myfile.txt‘, ‘delimiter’, ‘,’, ’emptyvalue’, NaN)。


例6: myfile.txt 中的内容如下

    Sally    Type1 12.34 45 Yes 

    Joe      Type2 23.54 60 No 

    Bill     Type1 34.90 12 No 

    如果只想读第一列,其余的跳过:

    filename = ‘.\myfile.txt’; 

    [names]=textread(filename,’%s%*[^\n]’) 

    %[^…] – reads characters not matching characters between the brackets until first matching character

    %[^\n] 就是一直读到行尾

    %*[^\n] 就是从当前直接跳到行尾

    可对比:[names,rest]=textread(filename,’%s%[^\n]’)  

例7: myfile.txt 中的内容如下                   

    Location;date;discharge  

    Lobith;1989-01-01;00:00;2801 

    Lobith;1989-01-02;00:00;2619 

    语法如下: 

    [Location,… % 1    

    yyyy              ,… % 2a datestring year    

    mm                ,… % 2b datestring month    

    dd                ,… % 2c datestring day    

    HH                ,… % 3a timestring hour    

    MM                ,… % 3b timestring minute    

    discharge] =  …    

    textread(filename,’%s%f-%f-%f%f:%f%f’,…        

        ‘headerlines’,1,…        

        ‘delimiter’  ,’;’); 

注意:textread不用先fopen那个文件,适用于格式统一的txt文件的一次性大批量读取。textread读取某个文件后,下次再用textread读取这个文件时,还是会从文件头开始读取。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/196653.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • JS总结1

    JS总结1

    2021年8月10日
    56
  • Oracle创建本地数据库实例及配置「建议收藏」

    Oracle创建本地数据库实例及配置「建议收藏」        因为以前一直都是用的mysql的数据库,所以当新工作中用到Oracle数据库的时候,一时还有点不习惯,特别是一直连接的远程数据库,更是麻烦,所以就想在本地创建一个Oracle的数据库,然后导入数据库的备份文件方便使用。然而看似简单的东西,真正动起手来,却也还是花了好一会儿工夫也才解决。所以希望能够把安装的过程记录下来,不仅方便自己以后查阅,也能督促自己开始写博客(3年前就有这样的想…

    2022年5月31日
    134
  • WebRTC直播技术方案「建议收藏」

    WebRTC直播技术方案「建议收藏」我们都知道,WebRTC是面向互联网的一种即时通信标准,由于被Chrome、火狐、Safari等主流浏览器支持,并提供了一致和简洁的API,使得开发WebRTC的视频通信应用非常简单和流行。在大多数情况下,我们认为双向视频通信技术和视频直播技术是两种不同的技术,一个做视频通话,一个做单向直播(在以往的直播方案中,绝大部分是采用rtmp协议做直播上行的)。有没有可能使用WebR…

    2022年7月21日
    21
  • 为何你会被强插广告/盗号?谈HTTPS连接的那些事

    为何你会被强插广告/盗号?谈HTTPS连接的那些事相信很多朋友都遇到过网页被强插广告的情况,好端端一个干净的页面,动不动就被插了个屠龙宝刀点击就送的小窗口,看着就心烦。这种网页劫持强插广告的现象,在中国非常常见,往往是运营商进行HTTP劫持所造成的。对付这种劫持,一个很好的解决办法就是HTTPS。网页劫持很多人都有遇到过,HTTPS可以比较好地防范这问题HTTPS能够加密网页传输内容,不仅可以防…

    2022年7月15日
    20
  • DropDownList绑定数据的几种方式

    DropDownList绑定数据的几种方式1.视图中添加可以直接通过单击属性"Items"后的按钮为某一DropDownList控件添加数据项。每添加一项数据就是添加了一个ListItem(列表控件中的数据项)。这种方式

    2022年7月3日
    26
  • 发短信接口获取验证码

    发短信接口获取验证码

    2021年11月15日
    48

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号