比方说,我有一个单元格数组只包含数值的单元格。它的名字是Q.将单元格数组转换为双精度单元阵列
Q = { {[0] [1] [0] [238]} }
Q{1}
ans =
[0] [1] [0] [238]
我想要做的是将所有这4个单元合并为一个。 在这种情况下,它会像下面这样:
Q{1}
ans =
0 1 0 238
任何帮助将非常感激。
比方说,我有一个单元格数组只包含数值的单元格。它的名字是Q.将单元格数组转换为双精度单元阵列
Q = { {[0] [1] [0] [238]} }
Q{1}
ans =
[0] [1] [0] [238]
我想要做的是将所有这4个单元合并为一个。 在这种情况下,它会像下面这样:
Q{1}
ans =
0 1 0 238
任何帮助将非常感激。
你有一个双嵌套单元阵列:
Q = { {[0] [1] [0] [238]} }
,你需要comma-separated lists把它改造成一个阵列。我假设你有内Q
多个单元阵列,所以你可以使用cellfun
:
out = cellfun(@(x) [x{:}], Q,'uni',0)
,你会得到
Q{1} =
[0] [1] [0] [238]
out{1} =
0 1 0 238
了一个元素,这相当于:
Q{1} = [Q{1}{:}]
为x
中的cellfun
操作相当于Q{i}
,其中i
是runni ng变量。
但如果你只是有你的单元阵列中的这一个阵列,可以考虑:
out = cell2mat(Q{:})
因为你不需要它是一个单元阵列的。
'Q {1} = cell2mat(Q {1})'? –
@thewaywewalk非常感谢,Q {1} = [Q {1} {:}]工作得很好。这就是我真正需要的。 :) – amno
@LuisMendo有用的答案,它也工作完美! – amno