我正在尝试使用数据创建多维数组。我有一个17x10x1024空单元格数组:
C=cell(length(data(1,:)),10,1024);
% length(data(1,:) = 17
然后我正在计算(在while循环中(17次))为1024x1的向量:
value = data(:,i) + randn(size(t))*noise_out;
现在,我想将此向量的值分配给数组,方法是:
'Name of Signal' [] [] [] [] [] [] [] [] []
'in1' [1024x1 double] [] [] [] [] [] [] [] []
'out1' [1024x1 double] [] [] [] [] [] [] [] []
'in2' [1024x1 double] [] [] [] [] [] [] [] []
'out2' [1024x1 double] [] [] [] [] [] [] [] []
'in3' [1024x1 double] [] [] [] [] [] [] [] []
'out3' [1024x1 double] [] [] [] [] [] [] [] []
'in4' [1024x1 double] [] [] [] [] [] [] [] []
'out4' [1024x1 double] [] [] [] [] [] [] [] []
'in5' [1024x1 double] [] [] [] [] [] [] [] []
'out5' [1024x1 double] [] [] [] [] [] [] [] []
'in6' [1024x1 double] [] [] [] [] [] [] [] []
'out6' [1024x1 double] [] [] [] [] [] [] [] []
'in7' [1024x1 double] [] [] [] [] [] [] [] []
'out7' [1024x1 double] [] [] [] [] [] [] [] []
'in8' [1024x1 double] [] [] [] [] [] [] [] []
'out8' [1024x1 double] [] [] [] [] [] [] [] []
我使用以下内容:
C(i,2,:) = {value};
% i is the number of loop from 2 to 17
,但是问题是我从字面上得到了一个字符串[[1024x1 double]”,而不是向量的真实值。
有任何想法吗?
对于我来说,您想要获得的结果似乎并不合理,因为在单元格中有很多单个值,而您更希望使用矢量。
我建议三个选择:
C=cell(length(data(1,:)),10);
C(i,2) = value;
这将为您提供一个单元格矩阵,其中一列具有您的名称,而另一列中具有您的信号向量
但是实际上我建议不要将名称和信号一起存储在单元格数组中。因此,如果您想要带有信号的3D矩阵,请分开命名并创建:
C = zeros(length(data(1,:)),10,1024);
C(i,2,:) = value;
或考虑使用结构;
signal(1).name = 'in1'
signal(1).values = value
signal(2).name = 'out1'
signal(2).values = value2
这些只是想法,由于您没有提供足够的信息,因此我没有尝试过。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句