1.怎样把Matlab的cell 变为普通的数组
cell转换为矩阵函数为:cell2mat(c),其中c为待转换的元胞数组;
转化之后的矩阵可能不满足我们对矩阵维数的要求,那么也许还需要下面两个函数:
——reshape(A,m,n,p,。),将矩阵A变换为m*n*p*。的矩阵;
——permute(A,[1,3,2]),将矩阵A的第3维和第2维交换,从而满足顺序要求;
下面举一个我自己用过的例子:
H——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的四维矩阵
2.matlab怎么将多重cell数组储存为excel格式
因为你的每个元胞大小不一样,只能利用循环存储,n为该元胞的长度,该cell数组名假设为Nocode。
filetitle='F:\Nocode.xlsx';
%存储的excel的位置和名称
for i=1:n
if isempty(Nocode{i})
continue;
else
xlrange=['A',num2str(i)];
%存储表格中的位置,一次存一行,所以你的Nocode{i}必须是行向量,不然存储是就转下置
xlswrite(filetitle,Nocode{i},sheet,xlrange);
%存储每个数据
end
end