инициализация массива ячеек - PullRequest
3 голосов
/ 05 апреля 2011

У меня есть массив ячеек с элементами 22 * ​​22,18 * 18 * 6,14 * 14 * 6,10 * 10 * 6,6 * 6 * 6. Можете ли вы помочь мне инициализировать его

Обновление:

s{l(:,:,feature_map)=zeros(22,22),zeros(18,18,6),zeros(14,14,6),zeros(10,10,6),zeros(6*6*6)

При использовании вышеуказанной команды первый элемент массива ячеек становится пустым. Все остальные элементы имеют 22 * ​​22 * ​​6 элементов.

код:

num_of_maps_in_layer{1}=1;
for i=1:3
    num_of_maps_in_layer{i+1}=6; 
end
num_of_maps_in_layer{5}=6; 

for l=2:5
    for feature_map=1:num_of_maps_in_layer{l}
        sensitivity{l}(:,:,feature_map)=zeros(22,22),zeros(18,18,6),zeros(14,14,6),zeros(10,10,6),zeros(6*6*6)
    end
end

Ответы [ 3 ]

2 голосов
/ 05 апреля 2011

Я думаю, это то, что вы хотите сделать:

sensitivity = {zeros(22,22),...
               zeros(18,18,6),...
               zeros(14,14,6),...
               zeros(10,10,6),...
               zeros(6,6,6)};

Это создает 5-элементный массив ячеек sensitivity.Первая ячейка содержит числовой массив нулей 22 на 22, вторая ячейка содержит числовой массив нулей 18 на 18 × 6 и т. Д.

1 голос
/ 05 апреля 2011

Под любым изменением вы подразумевали под инициализацией что-то вроде этого:

1> ca= {22* 22, 18* 18* 6, 14* 14* 6, 10* 10* 6, 6* 6* 6}
ca =
{
  [1,1] =  484
  [1,2] =  1944
  [1,3] =  1176
  [1,4] =  600
  [1,5] =  216
}
1 голос
/ 05 апреля 2011

Не уверен, с чем вы хотите инициализировать матрицы, но если вы просто хотите объявить их и вам все равно, что они содержат, вы можете сделать

ones(22, 22)
ones(18,18,6)
ones(14,14,6)
...

или вы можете использовать функцию zeros для 0-заполненных матриц.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...