Error using cellstr. Shows error for element that doesn't exist.

I am getting the following error:
Error using cellstr (line 44) Element 154 is not a string scalar or character array. All elements of cell input must be string scalars or character arrays.
But the array I am trying to conver has size: [153 4]
I am trying to display the data to MATLAB Table (App Designer).
I am saving the data into a cell matrix form then converting to string to display in a table in the app.
TblAllInfo=[app.FMain',ChannelNameFinal',LocationFinal',ChannelFilter'];
app.UITableAll.Data=cellstr(TblAllInfo);

Answers (3)

I can duplicate the error using this simple example. So the problem is TblAllInfo{1,2}. It is the 154th element. It is not a char array.
a =
3×2 cell array
{'a'} {[1]}
{'a'} {[2]}
{'c'} {[3]}
>> cellstr(a)
Error using cellstr (line 44)
Element 4 is not a string scalar or character array. All elements of cell input must be string
scalars or character arrays.

2 Comments

Yes, exactly this. How to resolve it ?
The method depends on the data types. Why don't you show some example data?
In my example data, you could use cellstr(string(a))

Sign in to comment.

For now I have added the following code, so that I can proceed with my work. If anyone has any better answers. TIA :)
for i=1:length(TblAllInfo)
Data1{i}=string(TblAllInfo(i,:));
Data2{i,:}=cellstr(Data1{1,i});
Data3(i,:)=Data2{i};
end
app.UITableAll.Data=Data3;

Categories

Products

Release

R2017a

Asked:

on 19 Aug 2020

Edited:

on 20 Aug 2020

Community Treasure Hunt

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

Start Hunting!