2010-01-17 71 views
14

Tôi có một vector cột tôi muốn chuyển đổi sang một mảng tế bào như:Làm cách nào để chuyển đổi vectơ thành mảng ô?

A = rand(10,1); 

B = cell(10,1); 
for i=1:10 
    B{i} = A(i); 
end 

B = 
    [0.6221] 
    [0.3510] 
    [0.5132] 
    [0.4018] 
    [0.0760] 
    [0.2399] 
    [0.1233] 
    [0.1839] 
    [0.2400] 
    [0.4173] 

Làm thế nào tôi có thể làm điều này mà không có một rõ ràng cho vòng lặp? tôi đã cố gắng:

B{:} = A(:) 

[B{:}] = deal(A) 

không có may mắn ...

Ngoài ra nếu có thể, làm thế nào tôi có thể làm điều tương tự cho một ma trận, tức là mỗi phần tử trong một tế bào của chính nó?

Trả lời

22

Sử dụng chức năng num2cell:

B = num2cell(A); 

trình với ma trận quá.

+0

Tôi không thể tin rằng mình đã quên cái này! Cảm ơn – merv

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