标题中都说了。
我修改了一个使用大量参数的函数,以便只给它一个包含所有这些参数的结构。现在,我不想重写函数中的所有内容(param1 到 struct.param1),所以我想添加类似“using struct”之类的内容,这将允许整个函数从“struct.param1”中获取“param1”
这清楚与否?英语不是我的母语。
这样做的一个讨厌的方式是
function my_using( params )
%
% params should be a struct (NOT an array of struct!)
%
fn = fieldnames( params );
for ii = 1:numel( fn )
assignin('caller', fn{ii}, params.(fn) );
end
现在您可以调用my_using
您的函数,结构中的所有参数都将创建为函数中的变量
另一种方法可以是
tn = tempname();
save( tn , '-struct', 'params' ); % note the -struct option!
load( tn );