MATLAB Answers

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

3 views (last 30 days)
Sandeep Nair
Sandeep Nair on 22 Apr 2021
Commented: Walter Roberson on 23 Apr 2021
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
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)

Community Treasure Hunt

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

Start Hunting!