首先,您可以直接从astruct
转换为double
using ,而不是先转换为单元格然后转换为矩阵struct2array
。
fetrain = struct2array(gl);
顺便说一句,“复杂double
”和“之间”没有区别double
。它们都是type double
。
class(1i)
% double
您可以使用real
来获取复数的实分量,或者abs
如果需要它的大小。
real(1+1i)
% 1
abs(1+1i)
% 1.4142
在您的情况下,这将是:
fetrain_real = real(fetrain);
fetrain_mag = abs(fetrain);
更新
默认情况下struct2array
,水平连接数据。如果您希望数据是的矩阵nFields x nData
,则可以执行以下操作:
fetrain = struct2array(gl);
% Reshape to be nFields x nData
fetrain = permute(reshape(fetrain, [], numel(fieldnames(gl)), numel(gl)), [2 1 3]);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句