我有一个1×Ñ细胞,称之为X
,其分量X{i}
(对于i
在{1,2,...,Ñ})是字符串的任 中号 X1细胞或 M x1数字向量。如何转置Mx1细胞和载体的细胞?
注:X
包含都文本单元和数字载体的事实将不让使用cell2mat
这里:
>> tmp = cell2mat(X);
Error using cell2mat (line 46)
All contents of the input cell array must be of the same data type.
我的问题是:
什么是MATLAB的“地道”的方式转本数据转换成数组M 1x N cells?
编辑:要清楚,数据结构,我想在到达时,我们称之为Y
,为1&#x0078的中号 - 长数组; N细胞(每个细胞由数字和字符串的混合物组成)。例如,如果Ñ= 2,并且如果X{1}
是中号x串的1个小区,并且X{2}
是中号x双打1个向量,则期望的数据结构Y
是这样的,对于任何1 ≤ i
≤ 中号,Y(i,:)
是1×2的细胞,其第一元件是在所述X{1}
第i
串并且其第二元件处于所述X{2}
第i
双。即Y(i,:)
将是相同的1x2细胞Yi
定义如下
xi1 = X(i, 1);
xi2 = X(i, 2);
Yi = {xi1{1} xi2{1}};
(对不起,我尴尬!我只是不能直接在条款X
和i
找到一个MATLAB表达式Yi
,而无需创建中间变量xi1
和xi2
。)
你是什么意思“转成M的数组1xN细胞“?以现在存储的方式处理这些数据有什么问题?你问如何访问1xN单元阵列中的每个元素? –
我想将数据传递给函数,这些函数使用1xN单元格的数组作为参数。 – kjo
将Mx1矩阵的单元阵列转换为单个矩阵很容易,只需执行[X {:}]'。但是,在字符串的情况下,您希望获得什么数据结构? –