2015-05-01 191 views

回答

1

是的,這可以使用cell arrays

如果你有三個矩陣A,B,C規定的大小n x m

把它們分配給你的代碼應該是。

Y{1,1} = A; 
Y{2,1} = B; 
Y{3,1} = C; 

正如你看到的電池陣列使用{},而不是()。 有關的詳細信息cell arrays訪問Matlab help

2

作爲替代存儲在細胞載體三個n x m矩陣,考慮將它們存儲在尺寸n x m x 3的三維陣列。可以使用cat命令來連接矩陣沿第三維,例如:

>> n = 2; m = 3; 
>> A = rand(n, m); B = rand(n, m); C = rand(n, m); 
>> Y = cat(3, A, B, C) 

Y(:,:,1) = 

     0.792207329559554   0.655740699156587   0.849129305868777 
     0.959492426392903  0.0357116785741896   0.933993247757551 


Y(:,:,2) = 

     0.678735154857773   0.743132468124916   0.655477890177557 
     0.757740130578333   0.392227019534168   0.171186687811562 


Y(:,:,3) = 

     0.706046088019609   0.27692298496089  0.0971317812358475 
     0.0318328463774207  0.0461713906311539   0.823457828327293 

這也可以通過indexing完成,例如:

>> Y(:,:,1) = A; Y(:,:,2) = B; Y(:,:,3) = C; 
>> Y 

Y(:,:,1) = 

     0.792207329559554   0.655740699156587   0.849129305868777 
     0.959492426392903  0.0357116785741896   0.933993247757551 


Y(:,:,2) = 

     0.678735154857773   0.743132468124916   0.655477890177557 
     0.757740130578333   0.392227019534168   0.171186687811562 


Y(:,:,3) = 

     0.706046088019609   0.27692298496089  0.0971317812358475 
     0.0318328463774207  0.0461713906311539   0.823457828327293 
相關問題