2017-02-09 16 views
0

signalsと呼ばれる3x2セル配列があります。すべてのセルには、整数でいっぱいの8×6×N配列が含まれています。すべての行を1行下に移動し、最初の行をNaNで上書きしようとしています。 Howevery、私は索引付けに関する正しい構文に苦しんでいます。私はこのような1つの特定の細胞を操作することができます:セル配列を使用する場合のインデックス作成

signals{1,1}(2:end, :) = signals{1,1}(1:end-1, :); 
signals{1,1}(1,:) = NaN; 

どのようにこの操作をセル配列全体に適用できますか?私は基本的に次のようなものを探しています:

signals{:}(2:end, :) = signals{:}(1:end-1, :); 

答えて

1

セルアレイの各要素をループし、これらの要素のそれぞれに対して操作を実行する必要があります。

for k = 1:numel(signals) 
    signals{k}(2:end, :) = signals{k}(1:end-1, :); 
    signals{k}(1,:) = NaN; 
end 
+0

ループを使用せずにこの問題を解決する方法はありますか? 'signals'マトリックスがかなり大きくなる可能性があるので、私はスピードの点で最も効率的な方法を探しています。 – Andi

+0

@Andiいいえ.JITアクセラレーションのおかげで、このようなループを使用した場合のパフォーマンスの低下は最小限に抑えられます。また、実際にパフォーマンスが必要な場合は、可能であればセル配列ではなく多次元配列を使用します。 – Suever

関連する問題