2010-05-30 71 views

Trả lời

5

Một giải pháp có chức năng thậm chí ít hơn gọi:

[myCell{1:k}] = deal(eye(m)); 
+0

+1: giải pháp đơn giản hơn nhiều so với một trong hai giải pháp còn lại. –

2

Hãy thử điều này:

myCell = mat2cell(repmat(eye(m),[1 k]),[m],repmat(m,1,k)) 
+0

Thật tuyệt vời! –

2

Xem xét việc này một:

myCell = arrayfun(@(x)eye(m), 1:k, 'UniformOutput',false) 
3

Dưới đây là một giải pháp rất đơn giản REPMAT:

myCell = repmat({eye(m)},1,K); 

Điều này chỉ cần tạo một ô với eye(m) trong đó, sau đó sao chép ô đó K lần.

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