我的架构存放在我的硬盘上。我需要将其中一个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 ;
是否可以一步完成?我可以覆盖var并完成这个,但有没有直接的方法呢?感谢。
答案 0 :(得分:8)
如果您使用的是MATLAB 7或更高版本,则可以使用-struct
标志保存结构:
save(fullfile(path, 'PRICES.Mat'),'-struct','PRICES');
如果以这种方式保存结构,那么您可以加载结构的特定字段而不加载所有结构的字段:
load(fullfile(path, 'PRICES.Mat'),'Raw');
disp(Raw);
答案 1 :(得分:1)
您无法从MAT文件加载部分变量。你想要:
var = load( fullfile(path, 'PRICES.Mat'), 'PRICES' );
var = var.PRICES.Raw;
或
load( fullfile(path, 'PRICES.Mat'), 'PRICES');
var = PRICES.Raw;
请参阅MATLAB帮助:http://www.mathworks.co.uk/help/techdoc/ref/load.html