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);

回答 (3 件)

Fangjun Jiang
Fangjun Jiang 2020 年 8 月 19 日

0 投票

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 件のコメント

Jannat Manchanda
Jannat Manchanda 2020 年 8 月 19 日
Yes, exactly this. How to resolve it ?
Fangjun Jiang
Fangjun Jiang 2020 年 8 月 20 日
編集済み: Fangjun Jiang 2020 年 8 月 20 日
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))

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

Jannat Manchanda
Jannat Manchanda 2020 年 8 月 19 日

0 投票

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;
Walter Roberson
Walter Roberson 2020 年 8 月 20 日

0 投票

app.UITableAll.Data=cellstr(TblAllInfo(:,1));

カテゴリ

ヘルプ センター および File ExchangeData Type Identification についてさらに検索

製品

リリース

R2017a

質問済み:

2020 年 8 月 19 日

編集済み:

2020 年 8 月 20 日

Community Treasure Hunt

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

Start Hunting!

Translated by