我有一个 23x5 单元格数组,我正在尝试用一列中的空单元格替换除第一个单元格之外的所有单元格。
当我尝试 array{2:end,4}=[]
时,我得到“此赋值的右侧的值太少,无法满足左侧的要求。”
仍然对 Matlab 如何处理不同的类感到困惑,我也尝试过
array(2:end,4)=[]
并得到“一个空赋值只能有一个非冒号索引。”
我知道 for 循环可以很容易地清空每个单元格的内容,但我觉得必须有更简单的解决方案来解决这个问题。
感谢您的帮助。
最佳答案
尝试使用:
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]
关于matlab - 如何在matlab中仅删除列中的一定范围的单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31418492/