2021-02-23 Matlab数据导入–importdata和load函数

2021-02-23 Matlab数据导入–importdata和load函数Matlab 数据导入 importdata 和 load 函数 importdata 和 load 函数 1 引言在使用 matlab 将数据导入到工作空间的时候 经常会使用到两个函数 一个是 importdata 函数 另一个是 load 函数 它们的使用方法和使用场景是太相同的 如果不太注意就可能会犯错误 在这里做简要的说明和记录 2 importdata 函数下面是帮助文档提供的 importdata 函数的语法说明 importdatalo

Matlab数据导入–importdata和load函数

importdata和load函数

 

1.引言

 

在使用matlab将数据导入到工作空间的时候,经常会使用到两个函数,一个是importdata函数,另一个是load函数,它们的使用方法和使用场景是太相同的,如果不太注意就可能会犯错误,在这里做简要的说明和记录。

 

2.importdata函数

 

下面是帮助文档提供的importdata函数的语法说明



  • importdata函数主要特点是可以从文本文件中导入数据
  • 导入的数据可以是类似于表格形式的,可以含有表头即列名称,也可以不含表头。
  • 表头可以是文本形式的。
  • 除了官方文档说明的这些我发现,importdata导入的数据除了可以列名外还可以含有行名。导入时列名会被放在colheaders数组中,行名会被放在rowheaders数组中。
  • importdata还可以用来导入图片,传入图片的名称即可

样例1:

%1.txt%a1 a2 a3 a4%1 3 5 3%1 2 4 6%7 5 4 8%3 7 9 8%2 3 7 4>> impdata = importdata('1.txt') impdata =   包含以下字段的 struct:  data: [5×4 double] textdata: {'a1' 'a2' 'a3' 'a4'} colheaders: {'a1' 'a2' 'a3' 'a4'} >> class(impdata) ans =  'struct'

可见importdata函数会将数据导入到一个结构体变量中,文本与数字分别导入到结构不同的属性中。数字部分导入到属性data中是一个矩阵,文本部分导入属性textdata中是一个细胞数组。如果textdata中的文本是列名则同时还会保存到属性colheaders中

样例2:

%2.txt%b1 1 3 5 3%b2 1 2 4 6%b3 7 5 4 8%b4 3 7 9 8%b5 2 3 7 4 >> impdata = importdata('2.txt') impdata =   data: [5x4 double] textdata: {5x1 cell} rowheaders: {5x1 cell}

图片

图片

如果textdata中的文本是行名则同时还会保存到属性rowheaders中。注意不能将行名称放在最后一列,这样将不能正确导入。所以在进行分类时,不能将字符型的类标签放在最后一列,而是应该放在第一列。

样例3:

%3.txt%a1 a2 a3 a4%b1 b2 b3 b4%1 3 5 3%1 2 4 6%7 5 4 8%3 7 9 8%2 3 7 4 >> impdata = importdata('3.txt') impdata =   data: [5x4 double] textdata: {2x4 cell} colheaders: {'b1' 'b2' 'b3' 'b4'}

 

图片

图片

2021-02-23 Matlab数据导入--importdata和load函数

2021-02-23 Matlab数据导入--importdata和load函数

可以看到如果在头部文本超过两行,只有最后一行会作为列名分开读取,前面的列作为一个字符串,不分开,分隔符也不会被识别,而是当做普通字符。

样例4:

​​​​​​​

%a1 a2 a3 a4%b1 1 3 5%b2 1 2 4%b3 7 5 4%b4 3 7 9%b5 2 3 7 >> impdata = importdata('4.txt') impdata =   data: [5x3 double] textdata: {6x4 cell}

图片

图片

图片

 

3.load函数

 

load函数一般将用来导入纯数字的文件,可以是文本格式的文件或者是matlab保存的mat格式的文件。

​​​​​​​

>> A = magic(3) A =  8 1 6 3 5 7 4 9 2 >> save A.mat A>> clear>> load A.mat>> load 5.txt  # 自动生成X+txt文件名的变量>> B = load('5.txt') # 把导入的数值赋给B

图片

2021-02-23 Matlab数据导入--importdata和load函数

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

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

(0)
上一篇 2026年3月17日 下午8:54
下一篇 2026年3月17日 下午8:55


相关推荐

发表回复

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

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