MatLab数据结构

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MatLab数据结构相关的知识,希望对你有一定的参考价值。

参考技术A

MatLab数据类型主要分为 逻辑类型 数值类型 字符类型 结构类型 单元数组 函数句柄 映射容器 表格类型

【注】详细说明请善用MatLab中的 help xxx

MatLab创建逻辑矩阵格式:

其中,A为矩阵。对于A中任意非零元素都将转换为逻辑 1,零元素则转换为逻辑 0。

【注】复数值和NaN不能转换为逻辑值。

【注】

MatLab 中的字符/字符串是存储在行向量中的文本,该行向量中的每一个元素代表一个字符。每个字符的值对应其所对应的 ASCII 码值,故字符串是 ASCII 值的数值数组,访问方式同 MatLab 中的数组。

MatLab 中的 结构类型 与 C 语言类似,一个结构可以通过字段存储多个不同类型的数据。

单元数组是一种广义矩阵,每个单元可以包括一个任意数组或另一个单元数组,故每一个单元可以具有不同的尺寸和内存占用空间。

创建函数句柄需要使用到操作符 @ ,使用函数句柄可以实现对函数的间接调用。
创建函数句柄的一般语法格式:

其中, @ 是句柄创建操作符,Function_Handle 变量保存了该函数句柄,Function_Filename 是函数对应的 .M 文件或 MatLab 内部函数名。
函数句柄创建后就可以通过函数句柄来调用函数:

MatLab 库函数提供了许多处理函数句柄的操作函数,将函数句柄的功能与其他数据类型联系起来,扩展了函数句柄的应用。

映射容器(Map对象)可以将一个量映射到另一个量,构成一个 键值 对。映射容器是一种快速键查找的数据结构。

映射容器是Map类的对象,而Map类的所有对象都具有 3 种属性。

Map对象查看属性直接利用 . 运算符: mapObj.Count 、 mapObj.KeyType 、 mapObj.ValueType

表格类型(table)是一种可以包含不同类型数据的表数组。table数组存储列向数据或表格数据,表将每一段列向数据存储在一个变量中,表变量可以具有不同的数据类型和大小,但要求所有变量具有相同的行数。

matlab批量读取数据

例如我的当前文件夹下有许多excel(后缀名为.xls),我需要读取的数据位置是A2:A37,而且这些EXCEL文件名称是有规律的,例如
060101.xls,060102.xls,060103.xls,...060112,070101.xls,070102.xls,070103.xls,...,070112.xls.我的想法是把这些文件的所有的A2:A37都提取出来,赋到一个矩阵里,可是该怎么做呢?哪个大神能帮我一下,感激不尽。

% 先取得文件名列表,用循环逐个读取文件,再对矩阵进行拼接,应该可以解决你的问题,

% 如有疑问请进一步提出

 

files = dir('*.xls');    % 获取所有的 excel 文件名,
                              % 需将准备读取数据的 excel 文件存放在同一目录中,
                              % 并将该目录设为当前目录。
l = length(files);      % 获取文件的个数
B=[];                       % B 用于存放结果
for i=1:l                   % 遍历所有的文件
    filename = files(i).name;              % 逐个取得文件名
    A = xlsread(filename,'A2:A37');   % 读对应位置的数据
    B = [B A];                                     % 拼接矩阵
end
msgbox(['complete! ' num2str(l) ' xls files.']);   % 提示完成,并显示读取的文件个数

 

% 用简单的四个 xls 文件测试了一下,程序可以正常运行,workspace截图如下:

参考技术A 建议先将excel表格拖到matlab工作区,使其成为mat格式的数据,然后通过简单的编程就可以将任意值赋值到矩阵的任意位置了。
mat格式matlab能更好的识别与处理,也是matlab处理数据的基础。

以上是关于MatLab数据结构的主要内容,如果未能解决你的问题,请参考以下文章

matlab 为啥要进行数据类型转换?

matlab串口接收数据的问题

matlab—数据处理的函数

matlab中如何看函数结构体中的数据

已经给出数据如何用matlab软件画图

怎样将matlab中的数据导出