2014-11-19 2 views
0

Я пытаюсь т одометр это:2 случайные векторы в многомерный массив

weights = rand(64,1); % creates an array with 64 initial weights 
weights(:,2) = rand(40,1); % creates an array with 40 initial weights 

Как объясняет код: заполнить первый вектор с 64 случайными значениями, а затем сделать то же самое со вторым вектором и поместить их в той же переменной. Поэтому я Авель, чтобы получить доступ к ним, как так:

weights(:,1) % <-- will display entire first vector 
weights(:,2) % <-- display entire second vector 

ответ

2

Вы не можете сделать это, потому что первый вызов создает матрицу с size(64,1). Поэтому все столбцы должны иметь 64 строк, а не ваш 40.

Вместо этого вы можете использовать ячейки, например.

weights{1} = rand(64,1); % creates an array with 64 initial weights 
weights{2} = rand(40,1); % creates an array with 40 initial weights 

и использовать их как

weights{1} 
weights{2} 

Однако, если это решение полезно для вас, зависит от того, что вы хотите сделать еще с данными.

1

Аналогичное решение с использованием клеток, как Немезида отметил, это структуры, например:

weights.a = rand(64,1); 
weights.b = rand(40,1); 
weights.a, % <-- will display entire first vector 
weights.b, % <-- will display entire second vector 

Я лично думаю, что клетки раствор Nemesis упоминается более полезным, но я предполагаю, что это зависит от того, что вы делаете с ним ,

Смежные вопросы