【问题标题】:How do I assign an empty matrix to elements of a cell array in MATLAB?如何在 MATLAB 中为元胞数组的元素分配一个空矩阵?
【发布时间】:2009-12-14 20:13:04
【问题描述】:

我想操作一个元胞数组并使元胞数组的某些索引包含空矩阵[]。我似乎无法弄清楚如何做到这一点:

>> yy=num2cell(1:10)

yy = 

  [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    [10]

>> yy{1:2:end}=[]
??? The right hand side of this assignment has too few values to satisfy
 the left hand side.
>> yy(1:2:end) = []

yy = 

  [2]    [4]    [6]    [8]    [10]

呸!似乎不能做我想做的事。我想在单元格数组中保留空元素,例如

  []    [2]    []    [4]    []    [6]    []    [8]    []    [10]

有什么建议吗?我的索引向量可以是任意的,可以是索引形式或布尔形式,不一定是 [1 3 5 7 9]。

【问题讨论】:

    标签: matlab indexing cell-array


    【解决方案1】:

    您可以做的是使用() 索引单元格数组(而不是内容)并将每个单元格更改为一个空单元格{[]}

    yy(1:2:end) = {[]};
    

    另一种方法是使用DEAL函数,但是看起来有点丑:

    [yy{1:2:end}] = deal([]);
    

    【讨论】:

    • 哇哦! gnovice 再次通过。我们将不得不称你为“gexpert”
    • 我必须先成为“ginintermediate”。 ;)
    猜你喜欢
    • 2018-06-22
    • 1970-01-01
    • 2014-05-12
    • 1970-01-01
    • 2014-10-07
    • 2015-05-29
    • 1970-01-01
    • 2011-12-20
    • 1970-01-01
    相关资源
    最近更新 更多