从Matlab中的struct中提取所有数据

时间:2017-05-21 06:51:03

标签: matlab

使用load函数将我之前创建的结构读入一个名为x的新结构(例如)后,我得到一个尺寸为1X1的结构。这个struct x包含我感兴趣的结构。如何在不使用字段名的情况下提取内部结构?

1 个答案:

答案 0 :(得分:1)

有几种可能性。

假设您创建了以下示例struture:

original_struct.var_field_1=123
original_struct.var_field_2=333
original_struct.var_field_3='this is the original struct'

然后,您已将其保存在名为.mat的{​​{1}}文件中

saved_original_struct
  • 如果你知道/记住保存在save('saved_original_struct','original_struct') 文件中的原始结构的名称,你可以简单地调用.mat而不指定输出变量和结构及其原始名称({{1} })将在WorkSpace中可用,您可以使用它。

实现:

load
  • 如果您不知道/记住原始结构的名称,可以调用original_struct指定输出变量

返回的变量是一个结构,因此您可以使用:

  • load('saved_original_struct') whos original_struct Name Size Bytes Class Attributes original_struct 1x1 442 struct 获取已加载结构中字段的名称(即原始结构的名称)
  • load从已加载的
  • 中提取原始结构

实现:

fieldnames

希望这有帮助,

Qapla'