我有下一个单元格组成(30 * 1大小),重要的是要注意这是一个由数字和字符串组成的单元格数组。
根据""我想要做的就是首先拆分它。所以每个不同的数字必须占据一个不同的列。像这样:
在此之后,我想转置所有数字,所以我想要一个最终的矩阵大小(7 * 30)
任何人都可以帮我解决这个问题吗?
提前致谢!
答案 0 :(得分:1)
查看您在问题中放入的两个图像(尽管对我来说它们看起来像是在 Excel 中),我想您有一个包含 30 个列表的单元格数组(双数组;条目类型为 number 的数组) /双倍的)。这里我举了一个较短的例子,用 2 而不是 30。
dataInput={[1,2,3,4,5,6,7];[0,-1,0.5,2,5,6,7]}
它是一个 2×1 cell array
,它的每个条目都是一个 1x7 array of doubles
。现在要回答您问题的第一部分,即将列表的条目分开以将每个数字作为一个单元格,而不是将 7 个数字的整个列表作为一个单元格,我使用 num2cell
。对于您问题的第二部分,转置单元格,我只添加 '
(单引号)。并将所有这些单元格混合到单个单元格阵列中,我使用括号。因此,这是根据需要获得 7×2 cell array
的一种方法。
dataOutput=[num2cell(dataInput{1})',num2cell(dataInput{2})']
您还可以在末尾(外部)使用 '
运算符,如下所示。
dataOutput2=[num2cell(dataInput{1});num2cell(dataInput{2})]'
% or
dataOutput3=vertcat(num2cell(dataInput{1}),num2cell(dataInput{2}))'
答案 1 :(得分:0)