1

标题中都说了。

我修改了一个使用大量参数的函数,以便只给它一个包含所有这些参数的结构。现在,我不想重写函数中的所有内容(param1 到 struct.param1),所以我想添加类似“using struct”之类的内容,这将允许整个函数从“struct.param1”中获取“param1”

这清楚与否?英语不是我的母语。

4

2 回答 2

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您的函数,结构中的所有参数都将创建为函数中的变量

于 2013-06-11T12:14:43.090 回答
0

另一种方法可以是

tn = tempname();
save( tn , '-struct', 'params' ); % note the -struct option!
load( tn );
于 2013-06-11T12:28:21.677 回答