关于matlab中textread_matlab2016 textread-程序员宅基地

技术标签: matlab  

textread

基本语法是:

    [A,B,C,…] = textread(filename,format)

    [A,B,C,…] = textread(filename,format,N)
其中filename就是文件名, format就是要读取的格式,A,B,C就是从文件中读取到的数据。
必须严格遵守用法不可出现data=textread(filename,format,N)的形式

其中括号里面变量的个数必须和format中定义的个数相同。 如果每N行相同格式的数据,可采用[A,B,C,…] = textread(filename,format,N)的语法,读取N次。
_______________________________________________________________________________________

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

________________________________________________________________________________________

例如:
.....................................................................................
例1:无分隔符
mytest.txt
     2     3     4
     6     7     8
    10    11    12

读取:
>>[data1,data2,data3,data4]=textread('mytest.txt','%n%n%n%n');
>>data=[data1 data2 data3 data4]
data =

     1     2     3     4
     5     6     7     8
     9    10    11    12
或者,[data1,data2,data3,data4]=textread(filename,'%n%n%n%n',3);%注意3为读取次数,应该是行数
....................................................................................

例2:有分隔符(逗号,分号...)
myfile.txt 中的内容如下:

    1, 2, 3, 4

    5, 6, 7, 8

    9, 10, 11, 12

读取:
>> [data1,data2,data3,data4]=textread('myfile.txt','%n%n%n%n','delimiter', ',')
>> data=[data1 data2 data3 data4]

data =

     1     2     3     4
     5     6     7     8
     9    10    11    12
这里delimiter是指 指出分隔符,读数据的时候会自动跳过分隔符。

至此应该知道Iris.txt怎么读入了吧。
[data1,data2,data3,data4,data5]=textread('Iris.txt','%f%f%f%f%s','delimiter',',');

需要注意的是,参数位置要和textread函数用法对应
[A,B,C,…] = textread(filename,format,N)也就是filename,format,N三个参数必须在其他参数前面,所以150才会出现在format后
例如:[data1,data2,data3,data4,data5]=textread('Iris.txt','%f%f%f%f%s',150,'delimiter',',');
..............................................................................

例3:有分隔符及首行注释
myfiles.txt 中的内容如下:

    % this a comment

    1, 2, 3, 4

    5, 6, 7, 8

    9, 10, 11, 12

>> [data1,data2,data3,data4]=textread('myfiles.txt','%n%n%n%n','delimiter', ',','headerlines', 1);
>>  data=[data1 data2 data3 data4]

data =

     1     2     3     4
     5     6     7     8
     9    10    11    12
textread中的headerlines指明了跳过几行,1可自由设定
这里headerlines告诉textread跳过一开始的1行,1可以替换为任意你要跳过的行数。
..............................................................................

例4:针对txt文件不同格式数据的读取

myfile.txt 中的内容如下:

    Sally Level1 12.34 45 Yes

读入:
[names, types, x, y, answer] = textread('myfileli4.txt' , '%s %s %f %d %s', 1);

对应格式[A,B,C,…] = textread(filename,format,N)
_________________________________________________________________________________

   例4.1: 如果要忽略12.34这个浮点数。

    [names, types, y, answer] = textread('myfileli4.txt' , '%s %s %*f %d %s', 1)

    %*f 告诉textread跳过一个浮点数。
names =

    'Sally'


types =

    'Level1'


y =

    45


answer =

    'Yes'

对于iris.txt如果只想读取数据可用[data1,data2,data3,data4]=textread('Iris.txt','%f %f %f %f %*s',150,'delimiter',',');
____________________________________________________________________________________________

 例:4.2  如果要忽略Level,指读取后面的数字,

 >> [names, levelnum, x, y, answer] = textread('myfileli4.txt','%s Level%d %f %d %s', 1)

names =

    'Sally'


levelnum =

     1


x =

   12.3400


y =

    45


answer =

    'Yes'
________________________________________________________________________________________________
..............................................................OK ...............................................
例5: txt中存在空位

myfileli5.txt 中的内容如下
    1,2,3,4,,6

    7,8,9,,11,12

    想用nan替代为空的部分

如下:
>>[data1 data2 data3 data4 data5 data6] = textread('myfileli5.txt','%f%f%f%f%f%f', 'delimiter', ',', 'emptyvalue', NaN)

>> data=[data1 data2 data3 data4 data5 data6];
>> data

data =

     1     2     3     4   NaN     6
     7     8     9   NaN    11    12

....................................................................................................................

例6: 跳列

myfileli6.txt 中的内容如下

    Sally Type1 12.34 45 Yes

    Joe Type2 23.54 60 No

    Bill Type1 34.90 12 No

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

读入:
>> clear
>> [names]=textread('myfileli6.txt','%s%*[^\n]');
>> names

names =

    'Sally'
    'Joe'
    'Bill'

%[^\n] 就是一直读到行尾。
如:
>> [names rest]=textread('myfileli6.txt','%s%[^\n]')

names =

    'Sally'
    'Joe'
    'Bill'


rest =

    'Type1 12.34 45 Yes'
    'Type2 23.54 60 No'
    'Type1 34.90 12 No'

%*[^\n] 就是从当前直接跳到行尾。
% *是一个跳过符号,表示跳过该位

....................................................................................

例7:读入规律格式的数据

myfileli7.txt 中的内容如下
 
    Location;date;discharge
 
    Lobith;1989-01-01;00:00;2801
 
    Lobith;1989-01-02;00:00;2619

读入:
[location year month day hour minute discharge]=textread('myfileli7.txt','%s%f-%f-%f%f:%f%f','headerlines',1,'delimiter',';');

如下:
>> clear
>> [location year month day hour minute discharge]=textread('myfileli7.txt','%s%f-%f-%f%f:%f%f','headerlines',1,'delimiter',';')

location =

    'Lobith'
    'Lobith'


year =

        1989
        1989


month =

     1
     1


day =

     1
     2


hour =

     0
     0


minute =

     0
     0


discharge =

        2801
        2619


来自http://linux.chinaitlab.com/administer/872894.html

来自http://blog.sina.com.cn/s/blog_9e67285801010bju.html

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/u013713294/article/details/53467409

智能推荐

pthread_mutex_t 和 pthread_cond_t 配合使用的简要分析_c++ pthread_mutex_t pthread_cond_t pthread_cond_ti-程序员宅基地

文章浏览阅读639次。pthread_mutex_t 和 pthread_cond_t 配合使用的简要分析 1.原理假设有两个线程同时访问一个全局变量 n,这个全局变量的初始值等于0。Int n = 0 ; 消费者线程 A 进入临界区,访问 n,A 必须等到 n 大于 0 才能接着往下执行,如果 n== 0,那么 A 将一直等待。 还有一个生产者线程 B,B 进..._c++ pthread_mutex_t pthread_cond_t pthread_cond_timedwait

可能是国内最好的网关开源项目,支持 Dubbo、SpringCloud,经历多年双11高并发的场景验证...-程序员宅基地

文章浏览阅读628次。点击上方“芋道源码”,选择“设为星标”做积极的人,而不是积极废人!源码精品专栏原创 | Java 2019 超神之路,很肝~中文详细注释的开源项目RPC 框架 Dubbo 源码解析网络..._开源银行网关项目

leetcode----dfs解决岛屿问题(200、1254、1020、695、1905)_给你两个 的二进制矩阵 和 ,它们只包含 (表示水域)和 (表示陆地)。一个 岛屿 是由-程序员宅基地

文章浏览阅读511次。200.岛屿数量(DFS)问题:给你一个由'1'(陆地)和'0'(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。此外,你可以假设该网格的四条边均被水包围。示例1:输入:grid = [ ["1","1","1","1","0"], ["1","1","0","1","0"], ["1","1","0","0","0"], ["0","0","0","0","0"]]输出:1思路:dfs_给你两个 的二进制矩阵 和 ,它们只包含 (表示水域)和 (表示陆地)。一个 岛屿 是由

数据挖掘-实战记录(一)糖尿病python数据挖掘及其分析_数据挖掘预测疾病发生的一个例子-程序员宅基地

文章浏览阅读1.5w次,点赞22次,收藏320次。数据挖掘-实战记录(一)糖尿病python数据挖掘及其分析_数据挖掘预测疾病发生的一个例子

ubuntu18安装nvidia驱动_ubuntu18 安装 nvidia 驱动-程序员宅基地

文章浏览阅读270次。这里提供一种方法:执行,ubuntu-drivers devices看到recommend那一行,是默认推荐的驱动。执行sudo ubuntu-drivers autoinstall_ubuntu18 安装 nvidia 驱动

JAVA中变量的存放位置_类里面的默认权限的变量会放在哪里-程序员宅基地

文章浏览阅读3.6k次,点赞5次,收藏15次。JAVA中变量的存放位置一:在方法中声明的变量,即该变量是局部变量,每当程序调用方法时,系统都会为该方法建立一个方法栈,其所在方法中声明的变量就放在方法栈中,当方法结束系统会释放方法栈,其对应在该方法中声明的变量随着栈的销毁而结束,这就局部变量只能在方法中有效的原因在方法中声明的变量可以是基本类型的变量,也可以是引用类型的变量。​ (1)当声明是基本类型的变量的时,其变量名及值(变量名及值是两个概念)是放在JAVA虚拟机栈中​ (2)当声明的是引用类型变量时,所声明的变量名(该变_类里面的默认权限的变量会放在哪里

随便推点

华为机试三道编程题(2021-09-15)_科锐 javascript 机试-程序员宅基地

文章浏览阅读2k次,点赞8次,收藏14次。通知:最新的秋招笔试编程题题目、思路以及参考代码已经全部整理好放在【TechGuide】了,私信公众号回复【华为】或者【百度】即可获得最实时的笔试题解啦!通知:最新的秋招笔试编程题题目、思路以及参考代码已经全部整理好放在【TechGuide】了,私信公众号回复【华为】或者【百度】即可获得最实时的笔试题解啦!通知:最新的秋招笔试编程题题目、思路以及参考代码已经全部整理好放在【TechGuide】了,私信公众号回复【华为】或者【百度】即可获得最实时的笔试题解啦!通知:最新的秋招笔试编程题题目._科锐 javascript 机试

Clion中文乱码问题_clion下载插件位置是中文怎么办-程序员宅基地

文章浏览阅读685次,点赞9次,收藏6次。本人是做java的,所以习惯了用JetBrains系列,包括连orcale都用的他们系列的,所以我写C也是用的Clion,不是用的VS或者CS code,或者codeblocks当我运行C程序的时候,我发现了中文乱码!上网搜了一下,都是说改GBK啊,UTF-8啊,真的,我都试了,没用,所以我就问了一下客服(讲真的,我都觉得我比较飘,这问题还问人家客服)客服给了我一个办法:1、按住快捷键 shift+ctrl+alt+/2、选择registry3、取消第一项勾选的run.process_clion下载插件位置是中文怎么办

服务消费者 Consumer_consumercsdn-程序员宅基地

文章浏览阅读234次。接上篇1消费者服务1.1 项目搭建添加依赖 :(版本在父依赖)<dependencies> <!-- web 启动类 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> _consumercsdn

Vue2.0 走马灯(非swiper实例)_vue2 走马灯默认开始图片-程序员宅基地

文章浏览阅读874次。例子https://www.swiper.com.cn/demo/web/index.html(下拉到最后一个)Vue中安装main.js中引用不需要页面中使用样式及html太长了,先不放了,例子里面可以下载,如果有需要我这边实例的可以评论说下。。<template> <ul class="principal-swiper"> <li v..._vue2 走马灯默认开始图片

Jenkins集成Selenium无法启动浏览器,问题解决-程序员宅基地

文章浏览阅读2k次。原因:因为jenkins是用windows installer 安装成 windows的服务了,那么jenkins是一个后台服务,所以跑selium cases 的时候不显示浏览器前提条件:Jenkins 安装路径非系统盘目录(也就是 C盘);否则一下解决办法无法使用。 只能进行卸载重新配置Jenkins!!!解决办法:Step 1. (控制面板) -&gt; (管理工具) -&g...

keydown、input、keyup-程序员宅基地

文章浏览阅读1.4k次。我们常常需要通过监听输入框的keydown、input、keyup、change、blur事件来操作输入内容,所以他们的差异就不得不了解。先来看一个实验案例:<body> <input id='user' type="text" /></body><script> var user = document.getElementById('...