2009-11-29 19 views
8

Diyelim ki bir 100x100 matrisim var, onu 10x10 eşit parçalara bölmek istiyorum. Sorun şu ki, giriş matrisi herhangi bir boyutta olabilir (ancak her zaman mod 10). mat2cell işlevine baktım ancak dinamik parça sayısı için çalışmıyor gibi görünüyor. Yoksa bir şey mi özlüyorum?Matris eşit parçalara nasıl bölünür?

+5

Görüntü İşleme Araç Kutusu'ndaki (ör: ** blockproc **) işleme fonksiyonlarına bakınız, bakınız: http://www.mathworks.com/access/helpdesk/help/toolbox/images/f7-12726.html – Amro

cevap

12

Sadece matrisin nasıl bölünmesini istediğinizi tam olarak mat2cell anlatmalısınız. Her iki yönde de her zaman 10'un katları olacaksa, o zaman (oldukça) basittir. X varsayarsak Bölmek istediğiniz matristir ve istediğiniz Y sonuçlanan hücre dizisi: Hedefiniz sonuçta belki bloğu kullanmayı düşünebilirsiniz, bu alt matrisleri işlemek için ise

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