Cell ConvertTypes - size inputs must be scalar????

3 次查看(过去 30 天)
Why does cell ConvertTypes not work for this?
K>> whos co
Name Size Bytes Class Attributes
co 1x1 112 System.Double[]
K>> c2 = cell(co, 'ConvertTypes', 'all')
Error using cell
Size inputs must be scalar.

回答(1 个)

Guillaume
Guillaume 2016-5-10
编辑:Guillaume 2016-5-10
"Why does cell ConvertTypes not work for this?"
The question is rather why do you expect it to work? Nowhere does it say in the documentation of cell that it takes optional paramater-names 'ConvertTypes', 'all' (or any optional parameter for that matter). As a result, your strings are interpreted as size arguments.
In any case, to convert a .Net array of doubles into a matlab array of double, it's simply:
c2 = double(co)
  3 个评论
Doctor G
Doctor G 2016-5-10
The reason I tried that was that I was getting a problem with
K>> cell(c)
Error using cell
Conversion to cell from System.Double[] is not possible.
Guillaume
Guillaume 2016-5-10
Oh. I wonder why it does not appear in the documentation of cell (Although it's linked from there and I missed it).
Anyway, as I said, use
double(co)
to extract your array. If you then really want a cell array:
num2cell(double(co))

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Matrix Indexing 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by