Допустим простой пример, где у меня есть индексы
index_pos = [3,4,5];
index_neg = [1,2];
Я бы хотел иметь матрицу:
result =
1 3
2 3
1 4
2 4
1 5
2 5
Для этого пишу следующий код:
[X,Y] = meshgrid(index_pos,index_neg);
result = [Y(:) X(:)];
Я думаю, что это не очень эффективный способ. Кроме того, это использует слишком много моей памяти, когда я использую большие экземпляры. Я получаю следующую ошибку:
Error using repmat
Out of memory. Type "help memory" for your options.
Error in meshgrid (line 58)
xx = repmat(xrow,size(ycol));
Error in FME_funct (line 36)
[X,Y] = meshgrid(index_pos,index_neg);
Есть ли какой-нибудь "умный" способ генерирования этой матрицы, используя меньше памяти?
PS: я заметил, что то, что я делаю, также дано здесь . Скорее всего, я нашел эту идею оттуда.