How to create a variable from cell array contents?

5 views (last 30 days)
I have a cell Array vector as attached (length may vary). It contains variable names.
mycell =
5×1 cell array
{'x' }
{'y' }
{'var1'}
{'var2'}
{'var3'}
How to create a new variable as follows?
out = [x;y;var1;var2;var3];
  2 Comments
Stephen23
Stephen23 on 7 Jun 2018
Edited: Stephen23 on 7 Jun 2018
This approach will force you into writing slow, complex, buggy code. Read this to know why:
Rather than accessing variable names in the workspace, you should revise your concept and use simpler, more efficient, and more robust methods, e.g. indexing, structure+fieldnames, table+variables, etc.
Akbar
Akbar on 8 Jun 2018
Edited: Akbar on 8 Jun 2018
Thank you for advice Stephen. I think I will go with tables then.

Sign in to comment.

Accepted Answer

Nikolai Jakuba
Nikolai Jakuba on 18 Jun 2018
You can use struct:
for idx_cell = 1:size(mycell,1) out.(mycell{idx_cell})={}; end

More Answers (0)

Tags

Products


Release

R2017b

Community Treasure Hunt

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

Start Hunting!