删除单元格数组列

时间:2011-06-02 12:50:17

标签: matlab cell-array

将简单值放入单元格数组中进行测试。

model{1,1}=1;model{1,2}=2;model{1,3}=3;
model{2,1}=4;model{2,2}=5;model{2,3}=6;
i=2;//I want to remove the second column

temp={  model{:,1:i-1} model{:,i+1:size(model,2)}  }

我想要一个这样的结果:

  

temp =

[1]    [3]    
[4]    [6]

但我得到了这个:

  

temp =

[1]    [4]    [3]    [6]

我怎样才能做到这一点?

p.s:对于任何从事Cell Arrays工作的人来说,有一种很好的技术可以追加here

3 个答案:

答案 0 :(得分:10)

您可以使用()-addressing重塑或删除单元格。

model(:,2) = [];

答案 1 :(得分:1)

您必须转置这两部分,并更改一些括号:

temp= [{ model{:,1:i-1}}' {model{:,i+1:size(model,2)}}']

答案 2 :(得分:1)

有一个名为fun_removecellrowcols的函数,它删除用户指定的特定行/列。由于删除了行/列,这会影响单元的尺寸。

http://www.mathworks.com/matlabcentral/fileexchange/46196-fun-removecellrowcols

此致 何