删除一个单元数组列

3
将简单值放入单元数组进行测试。
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:对于任何在单元数组上工作的人,有一个很好的技巧可以添加这里

3个回答

10

您可以使用()索引来重新整形或删除单元格本身。

model(:,2) = [];

1
太酷了!!!我喜欢那位设计 MATLAB 如此优雅的天才! - Nav
那就是Cleve Moler博士,Matlab的原始作者。 :) https://en.wikipedia.org/wiki/Cleve_Moler - Andrew Janke

1

你需要交换这两个部分,并且改变一些括号:

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

如果您要删除的列之前或之后有多列,则该方法将无法正常工作。 - Diederick C. Niehorster

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接