Name a variable that includes the cell name from a cell vector

1 回表示 (過去 30 日間)
Syeda Amberin
Syeda Amberin 2019 年 3 月 26 日
編集済み: Stephen23 2019 年 7 月 2 日
Hi,
I am trying to assign names to the tables I am creating. I have a 1 by 20 cell vector called "Events" with each cell containing events like "NATO", "G20" etc. Now I need my tables to have names extracted from the cells with extentions like "NATO_a", "NATO_b" etc. I have tried Events(1)_a=table(); but it's not working. How do I extract the cell names and add extensions? Please advise.
  11 件のコメント
Syeda Amberin
Syeda Amberin 2019 年 7 月 2 日
Thanks, Walter. That was very helpful.
Stephen23
Stephen23 2019 年 7 月 2 日
編集済み: Stephen23 2019 年 7 月 2 日
@Syeda Amberin: note that putting meta-data into fieldnames will make your code fragile: consider what your code would do if one of the names was 1ABC, or AB@ (i.e. not a valid fieldname). Meta-data is data, and generally it should be stored in a variable, not in a fieldname or variable name.
Your code would be more robust if you just used indexing.

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

回答 (1 件)

Syeda Amberin
Syeda Amberin 2019 年 3 月 26 日
I figured a round about.
s1='_a';
s=strcat(Events(1),s1);
Producing:
'Nato_a'
Thanks,
  2 件のコメント
Walter Roberson
Walter Roberson 2019 年 3 月 26 日
s = [Events{1} '_a']
but note this does not create a table variable with that name.
Syeda Amberin
Syeda Amberin 2019 年 3 月 27 日
Yes, you're right, it doesn't. Thanks.

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

カテゴリ

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

Community Treasure Hunt

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

Start Hunting!

Translated by