尽管有类似的帖子,但我没有看到在结构中保存结构的这种情况。
我的目标是:将一个结构字段保存在已定义的已保存结构中。
我的水果结构已经保存在其文件夹(.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'
保存到mat文件时,您要么需要省略参数:
...
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
函数会将该结构的字段作为单个变量存储在文件中,而不是将结构存储为一个变量。因此,在上述的文件“fruit.mat”第二个选项将包含三个变量:apples
,oranges
,和pineapple
。load
没有输出的调用将仅在工作空间中创建这三个变量,而不包含在结构中。您可以通过为指定输出,将文件中的所有变量收集到一个结构中load
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句