将struct字段加载到变量中(MATLAB)

Mad*_*ddy 2 variables matlab struct matlab-load

我有一个结构存储在我的硬盘上.我需要将其中一个Field加载到局部变量中.一个简单的负载得到了

% 'PRICES' is the stored struct.  1st fieldname is '.Raw'.  
% Only '.Raw' needs to be loaded

var = load( fullfile(path, 'PRICES.Mat') ) % Wrong as var becomes a struct containing a struct.
% DESIRED value: var = PRICES.Raw ;
Run Code Online (Sandbox Code Playgroud)

是否可以一步完成?我可以覆盖var并完成这个,但有没有直接的方法呢?谢谢.

Man*_*qui 8

如果您使用的是MATLAB 7或更高版本,则可以使用以下-struct标志保存结构:

save(fullfile(path, 'PRICES.Mat'),'-struct','PRICES');
Run Code Online (Sandbox Code Playgroud)

如果以这种方式保存结构,则可以加载结构的特定字段而不加载所有结构的字段:

load(fullfile(path, 'PRICES.Mat'),'Raw');
disp(Raw);
Run Code Online (Sandbox Code Playgroud)