How to insert a cell with string into a table as variable

28 views (last 30 days)
I have a cell B of 1x59 strings in it and i want to insert it into a table T as variable names
When am using the command
T.VariableNames.Properties = B; am getting the following error
"The VariableNames property is a cell array of character vectors. To assign multiple variable names, specify names in a
string array or a cell array of character vectors."
I checked multiple times by checking whether the cell is str from command iscellstr and it returns me 1.
Can anyone please help how to solve this problem
  1 Comment
Walter Roberson
Walter Roberson on 22 Apr 2021
You cannot use a cell array of strings. You need to use a cell array of character vectors, or you need to use a non-scalar string() array.

Sign in to comment.

Accepted Answer

Stephan
Stephan on 22 Apr 2021
Edited: Stephan on 22 Apr 2021
The solution is inside the error message:
  1. B is a cell array of strings
  2. specify names in a string array or
  3. cell array of character vectors
What you have is 1. and what you need is either 2. or 3.
A = {"Name1", "Name2", "Name3"}
A = 1×3 cell array
{["Name1"]} {["Name2"]} {["Name3"]}
A_new = [A{:}]
A_new = 1×3 string array
"Name1" "Name2" "Name3"
  7 Comments
Sandeep Nair
Sandeep Nair on 23 Apr 2021
Thanks for the answers,i was able to find the solution i checked my cells with isvarname and some of the cells were having dots in between which i removed and now its working fine ,thanks
Walter Roberson
Walter Roberson on 23 Apr 2021
Variable names with dots in them are permitted, R2019b and later (if I remember correctly.) You did not happen to indicate which release you are using.

Sign in to comment.

More Answers (0)

Categories

Find more on Cell Arrays in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!