Matlab函数 - 如何使用字符串输入访问结构?

时间:2013-06-19 16:37:40

标签: string matlab function

如果我有这样的功能:

function [ out ] = call(a)
out = s.a
end

如何通过call('hello')或类似的方式访问s.hello结构?

附带问题:是否也可以使用这样的函数访问变量“hello”?

先谢谢,你们真棒!

1 个答案:

答案 0 :(得分:3)

我会像这样使用动态结构访问:

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