【发布时间】:2013-06-19 16:37:39
【问题描述】:
如果我有这样的功能:
function [ out ] = call(a)
out = s.a
end
如何让它通过 call('hello') 或类似的方式访问结构 s.hello?
附带问题:是否也可以使用这样的函数访问变量“hello”?
提前谢谢你们,你们太棒了!
【问题讨论】:
如果我有这样的功能:
function [ out ] = call(a)
out = s.a
end
如何让它通过 call('hello') 或类似的方式访问结构 s.hello?
附带问题:是否也可以使用这样的函数访问变量“hello”?
提前谢谢你们,你们太棒了!
【问题讨论】:
我会像这样使用动态结构访问:
s.(a)
通过Mathworks website!了解更多信息
另外,如果我们查看您的示例函数,我注意到您没有将结构作为参数传递,也许它是全局的,但这里有一个使用您的函数作为框架的技术示例:
function out = call(s,a)
out = s.(a);
end
然后要使用该功能,我尝试:
>> s = struct('hello',42)
s =
hello: 42
>> call(s,'hello')
ans =
42
效果很好,没有递归限制!如果您仍然获得递归函数,请尝试将更多代码添加到问题中,我们将深入了解!
HTH
【讨论】: