所有人都在标题中说。
我修改了一个使用大量参数的函数,以便只给它一个包含所有这些参数的结构。现在,我不想重写函数中的所有内容(param1到struct.param1)所以我想放一些像'using struct'这样的东西,它允许整个函数从'struct.param1'获取'param1' / p>
这是否清楚?英语不是我的母语。
答案 0 :(得分:2)
这样做的一种令人讨厌的方式是
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
,并且结构中的所有参数都将被创建为函数中的变量
答案 1 :(得分:0)
另一种方法可以是
tn = tempname();
save( tn , '-struct', 'params' ); % note the -struct option!
load( tn );