首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >是否可以加载已保存在.mat文件中的矩阵的单列?

是否可以加载已保存在.mat文件中的矩阵的单列?
EN

Stack Overflow用户
提问于 2012-08-14 03:49:12
回答 1查看 540关注 0票数 2

我得到了一个很大的.mat文件,如下所示:

代码语言:javascript
运行
复制
whos('-file','grips.mat')
  Name       Size               Bytes  Class     Attributes

  grip1      1x1              1662198  struct              
  grip2      1x1              2032758  struct              
  grip3      1x1              1660278  struct              
  grip4      1x1              1650678  struct              
  grip5      1x1              1607478  struct              
  grip6      1x1             63353718  struct

每个抓握都有几个记录下来的肌肉信号(EMG),这些信号来自几个传感器。我只想为其中一个夹点加载其中一个传感器信号。我想执行以下操作,但它不起作用:

代码语言:javascript
运行
复制
EMG_signal = load('grips', 'grip6.data(1,:)')

我能得到的最接近的结果是:

代码语言:javascript
运行
复制
EMG_signal = load('grips', 'grip6');
EMG_signal = EMG_signal.grip6.data(1,:);

然而,这涉及到加载几倍于我所需的数据,然后丢弃它。有没有简单的捷径?

这也适用于存储在.mat文件中的对象-当然,我不需要加载整个对象来获取其中一个变量(属性)的值。

非常感谢。

EN

回答 1

Stack Overflow用户

发布于 2012-08-14 10:45:35

问得好。看起来这取决于你运行的Matlab版本。从R2011b开始,Mathworks添加了matfile function

但不幸的是,您的特定问题仍然无法解决,因为您存储的是结构而不是直接的矩阵。如果'grip6‘是一个矩阵,你可以像下面这样访问子矩阵:

代码语言:javascript
运行
复制
matObj = matfile('grips.mat')
EMG_signal = matObj.grip6(1,:)

但正如文档所说,

not文件不支持索引到:

结构的

  • 字段

有关Matlab不支持从mat文件加载矩阵或数组的部分内容的更多信息,请参阅此matlab central thread

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11941261

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档