Wie teilt man eine Matrix in Teile gleich?

8

Nehmen wir an, ich habe eine 100x100 Matrix, ich möchte sie in gleiche Teile von 10x10 teilen.

Das Problem ist, dass die Eingabematrix beliebig groß sein kann (aber immer Mod 10). Ich habe mir die Funktion mat2cell angeschaut, aber sie scheint für eine dynamische Anzahl von Teilen nicht zu funktionieren. Oder fehlt mir etwas?

    
Hubert Perron 29.11.2009, 23:40
quelle

1 Antwort

12

Sie müssen mat2cell genau sagen, wie die Matrix aufgeteilt werden soll. Wenn Sie sicher sind, dass es in beiden Richtungen immer ein Vielfaches von 10 sein wird, dann ist es (ziemlich) einfach. Angenommen, X ist die Matrix, die Sie teilen möchten, und Sie möchten das resultierende Zellen-Array in Y :

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

    
Donnie 29.11.2009, 23:54
quelle

Tags und Links