虽然有类似的帖子,但我尚未看到这种情况以在结构中保存。
这是我的目标:将一个结构字段保存在已经定义的,保存的结构中。
我的水果结构已经保存在其文件夹(.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"将包含三个变量:apples
,oranges
和pineapple
。无输出的呼叫load
将简单地在工作区中创建这三个变量,而在结构中不包含。您可以通过指定load
的输出。