如何在matlab中仅删除列中的一系列单元格

时间:2015-07-14 22:26:48

标签: matlab cell

我有一个23x5的单元格数组,我正在尝试替换所有单元格,但第一个单元格中的空单元格替换所有单元格。

当我尝试array{2:end,4}=[]时,我得到“这项任务的右侧数值太少,无法满足左侧。”

仍然对Matlab处理不同类的方式感到困惑,我也试过了 array(2:end,4)=[]并获取“空赋值只能有一个非冒号索引。”

我知道for循环可以很容易地清空每个单元格的内容,但我觉得必须有一个更简单的解决方案来解决这个问题。

感谢您的帮助。

1 个答案:

答案 0 :(得分:6)

尝试使用:

array(2:end,4) = {[]}

例如:

>> array = cell(23,5);
>> array(:) = {1};
>> array(2:end,4) = {[]}
array = 

    [1]    [1]    [1]    [1]    [1]
    [1]    [1]    [1]     []    [1]
    [1]    [1]    [1]     []    [1]
    [1]    [1]    [1]     []    [1]
    [1]    [1]    [1]     []    [1]
    [1]    [1]    [1]     []    [1]
    [1]    [1]    [1]     []    [1]
    [1]    [1]    [1]     []    [1]
    [1]    [1]    [1]     []    [1]
    [1]    [1]    [1]     []    [1]
    [1]    [1]    [1]     []    [1]
    [1]    [1]    [1]     []    [1]
    [1]    [1]    [1]     []    [1]
    [1]    [1]    [1]     []    [1]
    [1]    [1]    [1]     []    [1]
    [1]    [1]    [1]     []    [1]
    [1]    [1]    [1]     []    [1]
    [1]    [1]    [1]     []    [1]
    [1]    [1]    [1]     []    [1]
    [1]    [1]    [1]     []    [1]
    [1]    [1]    [1]     []    [1]
    [1]    [1]    [1]     []    [1]
    [1]    [1]    [1]     []    [1]