【问题标题】:How can I convert a vector to a cell array?如何将向量转换为元胞数组?
【发布时间】:2011-01-06 04:33:47
【问题描述】:

我有一个列向量要转换为元胞数组,例如:

A = rand(10,1);

B = cell(10,1);
for i=1:10
    B{i} = A(i);
end

B = 
    [0.6221]
    [0.3510]
    [0.5132]
    [0.4018]
    [0.0760]
    [0.2399]
    [0.1233]
    [0.1839]
    [0.2400]
    [0.4173]

如果没有明确的 for 循环,我该如何做到这一点? 我试过了:

B{:} = A(:)

[B{:}] = deal(A)

没有运气......

如果可能的话,我怎样才能对矩阵做同样的事情,即将每个元素单独放在一个单元格中?

【问题讨论】:

    标签: matlab vectorization


    【解决方案1】:

    使用函数num2cell

    B = num2cell(A);
    

    也适用于矩阵。

    【讨论】:

    • 我不敢相信我忘记了这个!谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-07
    相关资源
    最近更新 更多