Matlab中读取txt文件的几种方法[通俗易懂]

Matlab中读取txt文件的几种方法[通俗易懂]matlab读取文本文件的几种函数:1、load——适合读取纯数据文本;2、importdata——只读取数据,自动省略数据格式前后的字符,超大文件不适合;3、textread、textscan——适合读取行列规整的文本,会存到元胞中,可通过headerlines省略读取字段名(字符行);4、csvread、dlmread——适合读取csv、xsl等文件格式文本;5、fprintf、fscanf—…

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

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

matlab读取文本文件的几种函数:

1、load——适合读取纯数据文本;
2、importdata——只读取数据,自动省略数据格式前后的字符,超大文件不适合;
3、textread、textscan——适合读取行列规整的文本,会存到元胞中,可通过headerlines省略读取字段名(字符行);
4、csvread、dlmread——适合读取csv、xsl等文件格式文本;
5、fprintf、fscanf——适合读取复杂的文本(中英文、数字串混杂出现);

一、纯数据文件(没有字母和中文,纯数字)

对于这种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           5×4                      160 double array
textdata       4×1                      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’)    #    %*s代表省略后两列数据

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

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

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

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


相关推荐

  • ettercap详细使用教程

    ettercap简介ettercap是一款强大的嗅探工具。ettercap主页面mitm方法ARPARP欺骗 ICMP发送ICMP数据包重定向到kali,然后由kali转发(只有受害者发出的数据包经过kali) DHCP发送DHCP数据包,让受害者认为kali是路由器,(只有受害者发…

    2022年4月4日
    440
  • 动态库学习[通俗易懂]

    动态库学习[通俗易懂]总结一:动态库前言 我们知道程序编译链接经常使用动态,同时我们可能还知道,动态库时程序运行时加载的。但是动态库到底有什么作用,如何生成、如何加载等,我们却很少关注。接下来,我给大家做一个简单的介绍。1.1动态库和静态库的区别静态库特点(linux):命名上是以*.o结尾静态库在链接阶段直接就加入到可执行的文件中了,在执行过程中无需该静态库相对于动态库生成的文件,使用静态库生…

    2022年9月30日
    0
  • 摄像头模组 PDAF对焦(Phase Detection Auto Focus)

    摄像头模组 PDAF对焦(Phase Detection Auto Focus)http://blog.csdn.net/sylorchen/article/details/54618912本文主要是最近看的两个文档的总结,相对零散的笔记,包括《imx298softwarereferencePDAF》与《PDAFTruly》。1、PDAF功能的实现需要使用到shieldpixel的概念,包括right-half-shield与left-half-

    2022年9月6日
    2
  • linux搭建apache_plsql安装教程及配置

    linux搭建apache_plsql安装教程及配置在CentOS上安装ApacheApache在默认的CentOS存储库中可用,并且安装非常简单。为了安装ApacheWebServer,首先通过运行以下命令更新本地软件包在基于RHEL的发行版中,Apache软件包和服务称为httpd。要安装Apache,运行以下命令:[root@localhost]#sudoyumupdate更新完成后,就可以安装Apache了。[root@localhost]#yuminstallhttpd启动ApacheWeb服..

    2022年9月21日
    0
  • yourphp问题中心

    yourphp问题中心

    2021年10月9日
    50
  • SVM, Softmax损失函数[通俗易懂]

    SVM, Softmax损失函数[通俗易懂]版权声明:本文为博主原创文章,未经博主允许不得转载。目录(?)[+]Deeplearning在计算机视觉方面具有广泛的应用,包括图像分类、目标识别、语义分隔、生成图像描述等各个方面。本系列博客将分享自己在这些方面的学习和认识,如有问题,欢迎交流。在使用卷积神经网络进行分类任务时,往往使用以下几类损失函数:平方误差损失SVM损失s

    2022年6月26日
    29

发表回复

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

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