Matlab 转置元胞数组中结构中的值
Matlab transpose values in a structure within a cell array
我成功地为我的数据创建了一个 n=85 的移动 window,并将 windows 放入元胞数组中:
n = 37886;
cell_array=cell(n,1);
a = 1:n;
for T=1:n-84
M=a(T:T+84);
tmpstruct=struct('M',M);
cell_array{T}=tmpstruct;
end
但是,我需要转置 M,它是位于元胞数组结构内的 window 个值的数据。也就是说,我希望 window 值的向量不是 1x85,而是 85x1.
我试过用这个转置:
cell_array = cellfun(@transpose,cell_array,'UniformOutput',false);
但是这段代码对我不起作用。
任何关于如何转置我的 windows 的反馈都将不胜感激。我需要转置 252 个元胞数组,因此手动执行此操作是不可能的。
如果我明白了,那又怎样:
n = 37886;
cell_array=cell(n,1);
a = 1:n;
for T=1:n-84
M=a(T:T+84);
tmpstruct=struct('M',M'); % Modified line to transpose windows!
cell_array{T}=tmpstruct;
end
如果您更喜欢命名函数:
n = 37886;
cell_array=cell(n,1);
a = 1:n;
for T=1:n-84
M=a(T:T+84);
tmpstruct=struct('M',transpose(M)); % Modified line to transpose windows!
cell_array{T}=tmpstruct;
end
我成功地为我的数据创建了一个 n=85 的移动 window,并将 windows 放入元胞数组中:
n = 37886;
cell_array=cell(n,1);
a = 1:n;
for T=1:n-84
M=a(T:T+84);
tmpstruct=struct('M',M);
cell_array{T}=tmpstruct;
end
但是,我需要转置 M,它是位于元胞数组结构内的 window 个值的数据。也就是说,我希望 window 值的向量不是 1x85,而是 85x1.
我试过用这个转置:
cell_array = cellfun(@transpose,cell_array,'UniformOutput',false);
但是这段代码对我不起作用。
任何关于如何转置我的 windows 的反馈都将不胜感激。我需要转置 252 个元胞数组,因此手动执行此操作是不可能的。
如果我明白了,那又怎样:
n = 37886;
cell_array=cell(n,1);
a = 1:n;
for T=1:n-84
M=a(T:T+84);
tmpstruct=struct('M',M'); % Modified line to transpose windows!
cell_array{T}=tmpstruct;
end
如果您更喜欢命名函数:
n = 37886;
cell_array=cell(n,1);
a = 1:n;
for T=1:n-84
M=a(T:T+84);
tmpstruct=struct('M',transpose(M)); % Modified line to transpose windows!
cell_array{T}=tmpstruct;
end