Concatenate variable value and variable name into new variable name.

121 ビュー (過去 30 日間)
Jesper Steen Andersen
Jesper Steen Andersen 2016 年 4 月 5 日
I would like to have the name of a variable into another variable name.
So if for example I define
animal = 'cat' and make some calculation: eg. mean. I would like a variable name which concatenates these two: 'cat_mean'.
So if swap to animal = 'dog' there will be created another variable named 'dog_mean'
Best regards Jesper

採用された回答

Adam
Adam 2016 年 4 月 5 日
編集済み: Adam 2016 年 4 月 5 日
Why would you want to do this though? A variable name is just a handle used in code. Suppose you create these dynamic variable names. Now everywhere afterwards in the code you have to keep working with these and using ugly code constructs to do so because you can't just refer to a variable properly by its name in the code.
Just use a struct if you want to do something like this e.g.
cat.mean = ...
dog.mean = ...
or if you only want one variable rather than separate ones for cat, dog, etc
animal.type = cat;
animal.mean = ...
animal(2).type = 'dog'
animal(2).mean = ...
  3 件のコメント
Jesper Steen Andersen
Jesper Steen Andersen 2016 年 4 月 6 日
Perfect! This helped me. Thanks a lot!

サインインしてコメントする。

その他の回答 (2 件)

Orion
Orion 2016 年 4 月 5 日
Hi,
something like :
animal = 'cat';
operation = 'mean';
result = horzcat(animal,'_',operation)

Azzi Abdelmalek
Azzi Abdelmalek 2016 年 4 月 5 日
編集済み: Azzi Abdelmalek 2016 年 4 月 5 日
animal = 'cat'
out=sprintf('%s_mean',animal)

カテゴリ

Help Center および File ExchangeStructures についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by