3

テストのために単純な値を cell 配列に配置しました。

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)}  }

私はこのような結果が欲しかった:

温度 =

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

しかし、私はこれを得ています:

温度 =

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

どうすればこれを正しく行うことができますか?

ps: セル配列に取り組んでいる人には、ここに追加するための優れたテクニックがあります。

4

3 に答える 3

10

()-アドレス指定を使用して、セル自体を再形成または削除できます。

model(:,2) = [];
于 2011-06-02T13:13:58.703 に答える
1

2つの部分を転置し、いくつかの括弧を変更する必要があります。

temp= [{ model{:,1:i-1}}' {model{:,i+1:size(model,2)}}']
于 2011-06-02T12:59:41.403 に答える
1

ユーザーが指定した特定の行/列を削除する fun_removecellrowcols という関数があります。行/列が削除されるため、これはセルの寸法に影響します。

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

よろしく、 ホセ

于 2014-04-25T10:30:52.303 に答える