2012-07-12 9 views
22

を含む文字列を取得するには、どのように私は次のように宣言与え"GRUMPY"を含む文字列を取得することができますMatlabでMATLABは、MATLABで変数名

答えて

38

MATLABはこのために組み込み機能を提供していませんが、here

は基本的に、あなたがこれを行うには、独自の関数を作成する必要が使用されるような問題を回避するには、そこにあります。入力引数の変数名を関数に渡すためのMATLABの機能を利用してください。

I.e.

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

その後

GRUMPY = 500; 
name = varname(GRUMPY) 

は何をしたいあなたを与えるだろう。

+0

を試してみてください!ありがとう:) – NWS

+6

それは素晴らしいです!前に 'inputname'について聞いていませんでした。しかし、私はこのケースでは匿名関数を使ってやっています。 'varname = @(x)inputname(1)' – Drodbar

+1

@drodbarこれは動作していると仮定して、合意しました。もちろん、この関数をMatlabのすべてのもので利用できるようにするには、この非匿名関数を使用してパスに存在する関数ファイルが必要です。 – Patrick

2

私が正しく理解していれば、あなたはトリックをした

who GRUMPY 

または

which GRUMPY 
+0

これらのいずれも文字列を生成しません。クラス参照(GRUMPY) –