name of variables from a cell of strings

1 view (last 30 days)
Kanghyun
Kanghyun on 15 May 2014
Answered: Jos (10584) on 15 May 2014
Let b={'alpha', 'beta', 'gamma'}
What is the best way to generate variables whose name contains each element of b? For example how do I generate variables x_alpha, x_beta, x_gamma? from b?

Answers (2)

Azzi Abdelmalek
Azzi Abdelmalek on 15 May 2014
Edited: Azzi Abdelmalek on 15 May 2014
b={'alpha', 'beta', 'gamma'}
c=cellfun(@(x) ['x_' x],b,'un',0)
Look at
  1 Comment
Jos (10584)
Jos (10584) on 15 May 2014
If you just want to add a 'x_' before every string of b, you're way better off using the dedicated function STRCAT.
b = {'alpha', 'beta', 'gamma'}
c = strcat('x_', b)
But still, dot not use these a variable names! Use structs instead.

Sign in to comment.


Jos (10584)
Jos (10584) on 15 May 2014
Do not do this! Use structs
b={'alpha', 'beta', 'gamma'}
x.(b{1}) = 1:3
x.(b{2}) = 'hello'
x.(b{3}) = NaN

Categories

Find more on Cell Arrays in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!