2015-05-01 189 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 
相关问题