if (hidden_layer>1)
for i =1 :hidden_layer
start_hidden_layer(i) = rand([gk(i+1),(gk(i)+1)])-0.5 ;
end
end
嗨朋友们。 我知道每次迭代都改变了start_hidden_layer矩阵维度。但是必须保存所有start_hidden_layer值。如何解决这个问题?
首先是hidden_layer> 1
gk(i)是整数值,例如5,3,8
答案 0 :(得分:1)
由于您在每次迭代时使用不同的矩阵大小调用rand
,因此无法将结果保存到普通矩阵中。您需要使用单元格矩阵来存储结果,如下所示:
%//preallocate the cell array
start_hidden_layer = cell(1, hidden_layer);
for i = 1:hidden_layer
start_hidden_layer{i} = rand([gk(i+1), (gk(i)+1)]) - 0.5;
end
有关单元阵列以及如何使用它们的更多信息,请参阅this Mathworks help doc。