matlab读取txt数据文件「建议收藏」

matlab读取txt数据文件「建议收藏」一、load()函数load函数适合读取纯数据文本例子,data_txt.txt内容如下:0  1.000000  2.000000  3.0000001  3.000000  4.000000  5.0000002  6.000000  7.000000  8.0000003  9.000000  10.00000  11.00000读取代码如下:%对于类似的txt文件,不含有字符,只有数字data=load(‘data_tx…

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

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

一、load()函数

load函数适合读取纯数据文本

例子,data_txt.txt内容如下:

0    1.000000    2.000000    3.000000
1    3.000000    4.000000    5.000000
2    6.000000    7.000000   8.000000
3    9.000000    10.00000   11.00000

读取代码如下:

%对于类似的txt文件,不含有字符,只有数字
data=load(‘data_txt.txt’);
x=data(:,1);
y=data(:,2);
plot(x,y,‘r–’)

二、importdata()函数

只是第一行有字符,则使用importdata可直接读取数据。importdata函数只读取数据,自动省略数据格式前后的字符;

例子,data_txt_string.txt内容如下:

11.txt
0 1.000000 2.000000 3.000000
1 3.000000 4.000000 5.000000
2 6.000000 7.000000 8.000000

读取代码如下:

data1=importdata(‘11.txt’);
data2=data1.data; 

三、textread函数

textread、textscan——适合读取行列规整的文本,会存到元胞中,可通过headerlines省略读取字段名(字符行);

3.1、读取开头带字符注释,数据有分隔符(逗号,分号…)的数据:

11.txt
1, 2, 3, 4
5, 6, 7, 8
9, 10, 11, 12

读取代码:

[a1,a2,a3,a4]=textread('11.txt','%d%d%d%d','delimiter', ',','headerlines',1);

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

headerlines指明了跳过几行,这里headerlines告诉textread跳过一开始的1行,1可以替换为任意要跳过的行数。

format用来控制读取的数据格式,由%加上格式符组成,常见的格式符有:d(整型)、f(浮点型)、s(字符串型)、c(字符型)等

3.2、 txt中存在空位,用nan替代为空的部分

11.txt
1,2,3,4,,6
7,8,9,,11,12

读取代码:

>>[d1 d2 d3 d4 d5 d6] = textread('11.txt','%f%f%f%f%f%f','headerlines',1, 'delimiter', ',', 'emptyvalue', NaN)
>> data=[d1 d2 d3 d4 d5 d];
>> data
data =
     1     2     3     4   NaN     6
     7     8     9   NaN    11    12

3.3、txt文件包含不同格式数据

11.txt
Sally Start 12.34 56 End
Sall Star 12.3 5 En

读取代码:

[name, types, x, y, answer] = textread('11.txt' , '%s%s%f%d%s', 3);

注意“3”为读取次数,应该是要读取的行数,即读取11.txt 3行数据。

这里没有设置跳行headerlines,读取结果为3*1的cell,“11.txt”会读取保存在name中,

matlab读取txt数据文件「建议收藏」

3.4、读入规律格式的数据

11.txt
Location;date;discharge
Lobith;1989-01-01;00:00;2801
Lobith;1989-01-02;00:00;2619

 读取代码:

>> [loc year month day hour min charge]=textread('11.txt','%s%f-%f-%f%f:%f%f','headerlines',2,'delimiter',';')
loc =
    'Lobith'
    'Lobith'
year =
        1989
        1989
month =
     1
     1
day =
     1
     2
hour =
     0
     0
min =
     0
     0
charge =
        2801
        2619

3.5、[a1,a2,a3,a4]=textread(‘test1.txt’,’%s%s%*s%*s’)     #   %*s代表省略后两列数据 

from:Matlab学习笔记(9)——textread函数_Lavi_qq_2910138025的博客-CSDN博客_matlab textread

四、csvread、dlmread——适合读取csv、xsl等文件格式文本;

5、fprintf、fscanf——适合读取复杂的文本(中英文、数字串混杂出现);

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

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/196818.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

发表回复

您的电子邮箱地址不会被公开。

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