如何在另一个带有其字段的保存结构内保存1个结构字段



虽然有类似的帖子,但我尚未看到这种情况以在结构中保存。

这是我的目标:将一个结构字段保存在已经定义的,保存的结构中。

我的水果结构已经保存在其文件夹(.mat(中,其中是:

fruit = 
  struct with fields:
  apples: 5
  oranges: 2
  pineapple: 1

我的目标是将一个葡萄字段添加到已经保存的结构中。

fruit = 
      struct with fields:
     apples: 5
     oranges: 2
     pineapple: 1
     grapes: 13

这是我的代码:

clc;
clear all;
fruit.apples = 5
fruit.oranges = 2
fruit.pineapple = 1
save('fruit.mat', '-struct', 'fruit')
clear all;
load('fruit.mat')
fruit.grapes = 13
save('fruit.mat', '-struct', 'fruit')

输出:只有在没有其他字段的情况下保存葡萄字段:苹果,橙子和菠萝。

目标输出:如何将所有4个字段保存在相同的水果结构中?

保存到垫子文件时,您要么需要省略'-struct'参数:

...
save('fruit.mat', 'fruit');
clear all;
load('fruit.mat');
fruit.grapes = 13;
save('fruit.mat', 'fruit');

或将结构从load输出到变量fruit

...
save('fruit.mat', '-struct', 'fruit');
clear all;
fruit = load('fruit.mat');
fruit.grapes = 13;
save('fruit.mat', '-struct', 'fruit');

当您在包含结构的变量之前添加'-struct'参数时,save函数将将该结构的字段存储为文件中的单个变量,而不是将结构存储为一个变量。因此,在上面的第二个选项中,文件" frual.mat"将包含三个变量:applesorangespineapple。无输出的呼叫load将简单地在工作区中创建这三个变量,而在结构中不包含。您可以通过指定load的输出。

,将文件中的所有变量收集到结构中。

相关内容

最新更新