Why is cell2mat returning a char array and not an ordinary array?

In the documentation it says cell2mat returns an ordinary array, but when I use it I get a n x n char array. Does anyone know how to make it do what it says it should do?
Thanks

 採用された回答

Azzi Abdelmalek
Azzi Abdelmalek 2015 年 7 月 31 日

0 投票

Kim what is an ordinary array? array of string doesn't exist in Matlab.
s={'ab' 'cd';'er','mh'}
cell2mat(s)
Result
ans =
abcd
ermh
If the cells are different sizes, cell2mat doesn't work
If you have a cell of numbers n={12 145;62 78}. There is no problem
n={12 145;62 78}
cell2mat(n)

1 件のコメント

Kim
Kim 2015 年 7 月 31 日
Thanks for your quick response! I guess I mean by ordinary something like a simple numerical matrix. I am new to matlab so I apologize for wrong vocabulary. I started with a cell array as a result of inputdlg. I input numbers and I could see them in the cell, but when I used cell2mat I got a char array.

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

その他の回答 (1 件)

Image Analyst
Image Analyst 2015 年 7 月 31 日

1 投票

Because character arrays are what's inside your cells. See the FAQ: http://matlab.wikia.com/wiki/FAQ#What_is_a_cell_array.3F
To use cell2mat with arrays, they have to be the same size, as Azzi said. If they're different sizes, you can use char() and it will create a rectangular array and pad it with spaces.
s={'two' 'abcd'; 'three','lotsOfChars'}
sArray = char(s)

1 件のコメント

Kim
Kim 2015 年 7 月 31 日
Thank you for your help! I am fairly new to Matlab.

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

カテゴリ

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

質問済み:

Kim
2015 年 7 月 31 日

コメント済み:

Kim
2015 年 7 月 31 日

Community Treasure Hunt

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

Start Hunting!

Translated by