2009-11-29 21 views
8

私は100x100の行列を持っているとしましょう。私はそれを10x10の等分に分割したいと思います。行列を等しい部分に分割する方法は?

問題は、入力行列は任意のサイズ(ただし常に10)です。 mat2cellの機能を見ましたが、動的な数の部品では機能しないようです。 何か不足していますか?

+5

、おそらくあなたは、ブロックを使用することを検討したい:Xはあなたが分割したい行列であり、あなたがYで得られた細胞の配列をしたいと仮定すると、画像処理ツールボックスの画像処理機能(例:** blockproc **)については、http://www.mathworks.com/access/helpdesk/help/toolbox/images/f7-12726.htmlを参照してください。 – Amro

答えて

12

あなたはちょうどmat2cellに、マトリックスの分割方法を正確に伝える必要があります。もしあなたが常に両方向で10の倍数になることを肯定するなら、それは(かなり)単純です。あなたの目標は、最終的にこれらのサブ行列を処理する場合

Y = mat2cell(X, repmat(10,[1 size(X,1)/10]), repmat(10,[1 size(X,2)/10]));

関連する問題