2012-07-12 196 views
22

在Matlab中的字符串,我怎样才能得到含有"GRUMPY"一个String所给出如下声明:Matlab的获取包含变量名

GRUMPY = 500; 

这通常被称为其他编程语言中反映,但我找不到它的一个例子在Matlab中。

回答

38

MATLAB没有为此提供内置的功能,但有一种变通方法,如采用here

从本质上讲,你必须创建自己的函数来做到这一点。利用Matlab的功能获取INPUT ARGUMENT的变量名称作为函数。

I.e.

function out = varname(var) 
    out = inputname(1); 
end 

然后

GRUMPY = 500; 
name = varname(GRUMPY) 

会给你想要的东西。

+0

这奏效了!谢谢:) – NWS 2012-07-12 14:12:50

+6

很好!我之前没有听说过'inputname'。尽管使用匿名函数,我会这样做:'varname = @(x)inputname(1)' – Drodbar 2012-07-12 14:43:41

+1

@drodbar同意,假设它有效(现在没有Matlab可用)。当然,如果你希望在你所有的Matlab中都有这个功能,那么你需要一个函数文件驻留在你的路径中,这个非匿名函数。 – Patrick 2012-07-12 14:59:12

2

如果我理解正确的话,你应该尝试

who GRUMPY 

which GRUMPY 
+0

这些都不会产生字符串。见课(谁GRUMPY) – 2017-12-20 00:35:51