matlab中元胞数组(cell)转换为矩阵

matlab中元胞数组(cell)转换为矩阵

cell转换为矩阵函数为:cell2mat(c),其中c为待转换的元胞数组;

转化之后的矩阵可能不满足我们对矩阵维数的要求,那么也许还需要下面两个函数:

——reshape(A,m,n,p,...),将矩阵A变换为m*n*p*...的矩阵;

——permute(A,[1,3,2]),将矩阵A的第3维和第2维交换,从而满足顺序要求;

下面举一个我自己用过的例子:

H——<K*1>cell,其中每个元素为U*S*N*T的四维矩阵(H为WINNERII的信道矩阵)

U:接收天线数目  S:发送天线数目   N:多径数目  T:每条链路采样点数  K:链路数

为了将H变换为U*S*N*T*K的五维矩阵,进行下述变换:

(1)H1=cell2mat(H);%转换为矩阵,如下图所示,则H1为(U*K)*S*N*T的四维矩阵

matlab中元胞数组(cell)转换为矩阵

(2)H2=reshape(H2,U,K,S,N,T);%改变矩阵H1的形状

(3)H3=permute*(H2,[1,3,4,5,2];%将矩阵变化为U*S*N*T*K的矩阵

原文地址:https://www.cnblogs.com/yymn/p/4631181.html