2009-11-29 30 views
8

Giả sử tôi có ma trận 100x100, tôi muốn chia thành các phần bằng 10x10.Làm thế nào để phân chia một ma trận thành bằng các phần?

Vấn đề là ma trận đầu vào có thể có kích thước bất kỳ (nhưng luôn luôn là mod 10). Tôi đã xem xét chức năng mat2cell nhưng có vẻ như nó không hoạt động đối với một số phần động. Hoặc tôi có thiếu gì đó không?

+5

Nếu mục tiêu của bạn là để cuối cùng xử lý những tiểu ma trận, có lẽ bạn muốn xem xét sử dụng khối các hàm xử lý trong Hộp công cụ xử lý hình ảnh (ví dụ: ** blockproc **), tham khảo: http://www.mathworks.com/access/helpdesk/help/toolbox/images/f7-12726.html – Amro

Trả lời

12

Bạn chỉ cần nói mat2cell chính xác cách bạn muốn ma trận được chia. Nếu bạn tích cực rằng nó luôn luôn là một bội số của 10 trong cả hai hướng, sau đó nó là (khá) đơn giản. Giả sử rằng X là ma trận mà bạn muốn chia, và bạn muốn các mảng tế bào dẫn đến Y:

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

Các vấn đề liên quan